0

html

<ul>
    <li><a href="#">one</a></li>
    <li><a href="#">two</a></li>
</ul>
<br clear="all" />
<div>some text</div>

css

ul{
    list-style: none;
}
li{
    float: left;
    margin: 0 20px;
}
div{
    background-color: red;
    height: 200px;
}

jQuery

$('li a').toggle(function(e){
   $('div').toggle(); 
    e.preventDefault();
});

演示

我的关键问题是为什么一个标签获得了切换功能,而不是它应该只切换 div。

编辑

$('li a').toggle() 函数是单击并再次单击函数。但是 $('div').toggle() 功能是显示和隐藏。我对吗?

4

2 回答 2

3

更改toggleclick

atoggle当您使用.toggle()事件时,标签正在获取。

$('li a').click(function(e){ //change toggle to click
   $('div').toggle(); 
    e.preventDefault();
});

$('li a').toggle()函数需要像这样使用

$('li a').toggle(function(){},function(){})

演示

$('li a').toggle(function (e) {
    $('div').toggle();
    alert('1');
    e.preventDefault();
}, function (e) {
    $('div').toggle();
    alert('2');
    e.preventDefault();
});
于 2013-08-06T09:49:20.157 回答
0

你会这样做吗:demo

$('li a').toggle(function(e){
   $('div').hide(); 
 e.preventDefault();
}, function(){ 
    $('div').show();
e.preventDefault();
});
于 2013-08-06T10:08:59.177 回答