JQuery切换问题,需要两次单击
JQuery Toggle Issue, Requires Two Clicks
我对Javascript不是很流利,但我设法修改了这段代码,使其在歌曲的播放按钮和暂停按钮之间切换。。。它是这样的:
$(function()
{
$("#plbutton").toggle(function()
{
$("#playit").hide();
$("#pauseit").show();
},
function()
{
});
});
$(function()
{
$("#pabutton").toggle(function()
{
$("#pauseit").hide();
$("#playit").show();
},
function()
{
});
});
这是HTML:
<span id="playit"><a href="javascript:void(0)" onclick="document.getElementById('WeFuckinBall').play()" id="plbutton"><img src="images/playbutton.png" /></a></span>
<span id="pauseit" ><a href="#" onclick="document.getElementById('WeFuckinBall').pause()" id="pabutton"><img src="images/pausebutton.png" /></a></span>
这是暂停跨度的css:
#pauseit{
display: none;}
现在,当我点击播放按钮时,它会切换到暂停按钮,然后当我点击暂停按钮时,会切换到播放,但之后需要两次点击才能工作。。。它会暂停/播放歌曲,但图像不会切换,直到你再次点击。。。
我试着四处寻找,但由于我对java和jquery的了解很少,我无法将修复程序应用于我的代码。。。
试试这个:
$(document).ready(function() {
$("#plbutton").on("click", function(e)
{
e.preventDefault();
$("#playit").hide();
$("#pauseit").show();
});
$("#pabutton").on("click", function(e)
{
e.preventDefault();
$("#pauseit").hide();
$("#playit").show();
});
});
如果使用链接,请添加e.preventDefault();
如果没有,这应该工作
<span id="playit"><img src="images/playbutton.png" /></span>
<span id="pauseit"><img src="images/pausebutton.png" /></span>
$(document).ready(function() {
$("#playit").on("click", function(e) {
$("#$WeFuckinBall").play()
$(this).hide();
$("#pauseit").show();
});
$("#pauseit").on("click", function(e) {
$("#WeFuckinBall").pause()
$(this).hide();
$("#playit").show();
});
});
您甚至可以忽略span
我能想到的最简单的代码是
HTML:
<span id="playit"><img src="images/playbutton.png" /></span>
<span id="pauseit" ><img src="images/pausebutton.png" /></span>
查询:
var elems = $("#playit,#pauseit")
elems.on("click", function(){
elems.toggle();
if($(this).attr('id') == 'playit'){
$('#WeFuckinBall').play();
}else{
$('#WeFuckinBall').pause();
}
});
您不需要切换,只需使用.click()
即可解决您的问题:
$(function()
{
$("#plbutton").click(function()
{
$("#playit").hide();
$("#pauseit").show();
});
$("#pabutton").click(function()
{
$("#pauseit").hide();
$("#playit").show();
}
});
相关文章:
- 单击仅在第二次单击后有效
- 删除确认对话框在第一次单击时不起作用
- 在Rails中第一次单击后禁用链接,Coffeescription
- 在没有焦点的情况下捕获画布上的第一次单击事件
- Javascript onclick事件在第一次单击时未启动
- 只要用户将鼠标悬停在jQuery中的某个元素上,就可以执行多次单击
- 在单击事件中,第一次单击时激发代码一次,其余代码在所有单击时运行
- 无法在第一次单击时禁用链接,并在动画完成后重新启用
- 更改类名后,将第二次单击事件附加到元素
- 防止默认,直到连续两次单击
- 让窗口在一次单击触发两个页面重定向后保持焦点
- 奇怪的是,在第二次单击切换隐藏/显示按钮而不是第一次单击后,有两行有效
- 向同一按钮添加两次单击事件只能工作一次
- JQuery切换问题,需要两次单击
- jQuery完成的多部分表单需要两次单击才能识别.submit()和.click()事件处理程序
- 使用$(“[property=value]”).click(),我希望两次单击之间有一个延迟
- SVG元素中的Onclick需要初始的两次单击
- 要使用AngularJS修改html元素,必须点击两次单选按钮
- .change() 处理程序制作表单需要两次点击才能提交
- Javascript确认对话框出现两次;单击Element后返回