2013-08-26 90 views
-1

我遇到了滑入式菜单的问题。您可以在这里查看示例:http://jsfiddle.net/flobar/Z62t2/在创建水平滚动条的菜单中滑动

问题是当菜单被隐藏时,它会创建一个水平滚动条。我如何防止这种情况发生?

HTML:

<div id="slideIn"> 
    <ul> 
     <li>Home</li> 
     <li>About</li> 
     <li>Contact</li> 
    </ul> 
</div> 

CSS:

#slideIn { 
    background:red; 
    width: 200px; 
    float: right; 
    margin-right: -180px; 
} 

JS:

var menu = 0; 

$('#slideIn').click(function() { 
    if (menu == 0) { 
     menu = 1; 
     $(this).animate(
      {marginRight: '0px'},200 
     ); 
    } else { 
     menu = 0; 
     $(this).animate(
      {marginRight: '-180px'},200 
     ); 
    } 
}); 

回答

-1

像这样

DEMO

CSS

#slideIn { 
    background:red; 
    width: 200px; 
    float: right; 
    margin-right: -180px; 
    margin:0; 
    padding:0; 
} 
+0

为什么给-1投票给我。现在检查我更新我的答案 – falguni

+0

但是,当菜单被隐藏它仍然创建一个滚动条 – user2575265

-1

只需使用CSS http://jsfiddle.net/ZQcaZ/

转变的宽度,而不是使用负利润率应该可以正常工作。

#slideIn { 
    background:red; 
    width: 20px; 
    overflow: hidden; 
    float: right; 
    transition: all 0.2s linear; 
    -moz-transition: all 0.2s linear; 
    -webkit-transition: all 0.2s linear; 
    -ms-transition: all 0.2s linear; 
    -o-transition: all 0.2s linear; 
} 
#slideIn:hover { 
    width: 200px; 
} 
+0

对不起,但你的例子仍然创建一个滚动条 – user2575265

+0

@ user2575265 - 似乎在FF,Chrome甚至IE9中工作得很好(没有动画)。在将“overflow:hidden”添加到CSS之前,您必须查看链接。 –

1
body 
{ 
overflow-x:hidden; 
} 

应该可以帮助你..

+0

很酷,我在它周围包装了一个包装div,并给它一个overlow-x:隐藏并且它可以工作。感谢Prasanna Aarthi – user2575265

0

试试这个。这对你很有帮助

演示Here