Jquery隐藏/显示奇怪的故障
Jquery hide/show weird glitch
使用jsfiddle会更容易,但上帝是我的见证,jsfiddler出了问题,我的js都不工作,但它们在我的本地主机上工作,所以是的。
所以让我解释一下我有一个叫topBar的div。它在dom加载时隐藏。我有一个名为toggle_bar的div单击toggle_bar时,jquery将隐藏toggle_bar并显示topBar
但我遇到的问题是,在我单击toggle_bar后,会显示topBar,但我稍微移动了一下鼠标,然后BAM!topBar不见了。我不知道为什么会这样
这是我的代码Jquery
$("#topBar").hide();
$("#toggle_bar").live("click",function (){
$("#toggle_bar").hide();
$("#topBar").show();
});
HTML
<div class='toggle_bar'>
<a href='' id="toggle_bar" class="toggle_bar_class"></a>
</div>
<div id="topBar" class="topBar" >
<div class="bar_frame">
<div class="plogo">
Page logo bla bla bla
</div>
<div class="controls">
Notifications bla bla bla
</div>
<div class="nav_bar_frame">
<div class="float_left_bar">
</div>
<div class="float_right_bar">
</div>
</div>
</div>
</div>
PS:对于toggle_bar:a,我使用css将图像设置为href。:D
toggle_bar
上的href
应该具有#
,或者您应该在click
处理程序中停止事件。
您在加载时隐藏而不是设置为在样式中不显示是有原因的吗?
OriginalSyn是对的,你可以这样写。。。
$("#toggle_bar").live("click",function () {
$(this).hide();
$("#topBar").show();
return false;
});
我建议(如果您使用的是最新版本的jQuery)使用.on()或.delete()方法来代替.live()方法。我想请你参考这篇文章,它在解释差异方面做得很好。
这是一把正在工作的小提琴。你也应该使用
.on
而不是
.live
自1.7起已弃用。
似乎需要防止链接传播到URL。下面是一个如何更改点击事件处理程序的例子
http://jsfiddle.net/dp3T2/
$("#toggle_bar").live("click",function (e){
$("#toggle_bar").hide();
$("#topBar").show();
e.preventDefault();
});
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 显示5秒后隐藏潜水
- 画廊图像未显示
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- Meteoric(Meteor Ionic)软件包实现故障——Ionic样式未显示
- 验证启动但不启动't显示故障信息.我错过了什么?MVC 5 Razor
- jQuery突出显示jQuery 1.8.2和jQuery自定义1.8.24的故障
- Jquery隐藏/显示奇怪的故障
- CSS/JavaScript幻灯片显示故障
- 当点击图像周围的空白空间时,Javascript幻灯片显示故障
- JQuery幻灯片显示故障