Javascript 在第二次点击后立即执行

标签 javascript html onclick toggle

我还没有找到这个问题的直接或一般性答案,但我相信人们可能普遍有兴趣一劳永逸地解决它。我必须承认我对 js 很陌生。

我的问题是,我需要在“链接”上单击两次才能执行 javascript。

头:

<script type="text/javascript">
function toggle(navi){
var elem = document.getElementById(navi);

if(elem.style.top == "-604px"){
    elem.style.top = "0px"; // elem.style.textDecoration = "underline"; 
}else{
    elem.style.top = "-604px";//elem.style.textDecoration = "none";
}}
</script>

正文

<a href="javascript:toggle('navi')">Link</a>

更好理解的 fiddle :fiddle

也许你能帮帮我..

最佳答案

首先,您没有将字符串传递给“切换”函数,以便它通过元素的 ID 选择元素。

然后使用 JQuery 获取 CSS“top”属性似乎解决了“elem.style.top”在初始化时为空的问题(需要双击)。

这是工作 fiddle :http://jsfiddle.net/gkhBM/

$("#clicketyclick").click(function() { toggle("navi"); });

function toggle(navi) {
    var elem = document.getElementById(navi);
    //console.log(elem.style.top);
    //console.log($(elem).css('top'));
    if($(elem).css('top') == "-604px"){
        $(elem).css('top',"0px"); // elem.style.textDecoration = "underline"; 
    }else{
        $(elem).css('top',"-604px");//elem.style.textDecoration = "none";
    }
}

console.log 在调试问题时非常有用。

关于Javascript 在第二次点击后立即执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22914596/

相关文章:

javascript - JS : json, 动态方法生物和闭包

javascript - MouseEnter/MouseLeave 事件未正确排队

Android:处理放置在 RecyclerView 中的 ImageView 上的点击

jquery - 无法点击正文背景图片进行重定向

Javascript图像放大问题

javascript - 如何为多个 div 的内部/外部事件 'click' 设置条件?

JavaScript:如何计算反向正则表达式模式来删除与源模式匹配的字符?

javascript - 将加载图标添加到 Knockout javascript

javascript - 为什么我的图像按钮没有打开它应该打开的链接?

javascript - 将坐标转换为地名