如何在JavaScript中连接变量和字符串?

克隆克斯

请不要立即将其标记为重复项。我看过类似的问题,但仍然无法弄清楚。

这是我目前所拥有的:

$(document).ready(function(){
    for(var i=1;i<2;i++)
    {
        $("#MenuBarButton"+i).mouseover(function(){
            $("#ldheMenuBarLayer"+i).stop().animate({height:'66px'},{queue:false, duration:600, easing: 'easeOutBounce'})
        });
        $("#MenuBarButton"+i).mouseout(function(){
            $("#ldheMenuBarLayer"+i).stop().animate({height:'41px'},{queue:false, duration:600, easing: 'easeOutBounce'})
        });
    }
});

那不行 什么也没有发生,并且控制台中什么也没有出现。但是,如果我直接取代i1在每个$功能的东西它的工作原理。

我对编程并不陌生,但是对JavaScript不熟悉,所以我做错了什么吗?谢谢!

编辑:当我说我i用a替换1,这是因为ID为MenuBarButton1and ldheMenuBarLayer1

寂寞的一天

您遇到的基本问题是永远只有一个价值i该变量仅存在一次。事件处理程序中的代码指向变量,而不是创建事件处理程序时的值。因此,请使用如下代码:

$("#ldheMenuBarLayer"+i).stop()...

每次运行事件处理程序时,i都会是2,因为我们已经完成了整个循环。

您需要使用的价值i,不给变量的引用。为此,您可以引入一个带有匿名立即调用功能的新作用域:

for(var i=1;i<=2;i++)
{
    (function(j) {
        $("#MenuBarButton"+j).mouseover(function(){
            $("#ldheMenuBarLayer"+j).stop().animate({height:'66px'},{queue:false, duration:600, easing: 'easeOutBounce'})
        });
        $("#MenuBarButton"+j).mouseout(function(){
            $("#ldheMenuBarLayer"+j).stop().animate({height:'41px'},{queue:false, duration:600, easing: 'easeOutBounce'})
        });
    }(i))
}

抛开所有这些,值得一提的是,这并不是一种类似于jQuery的方法。jQuery的方式可能如下所示:

var menuBarButtons = $('.menuBarButton').mouseover(function() {
    var idx = menuBarButtons.index(this);

    $('.ldheMenuBarLayer')
        .eq(idx)
        .stop()
        .animate(
             {
                 height: '66px'
             },
             {
                 queue: false,
                 duration: 600,
                 easing: 'easeOutBounce'
             }
         );
});

该代码将无法工作(可能)。它需要基于您的标记和页面结构。最终可能无法实现。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在JavaScript中的另一个字符串内使用变量连接字符串

木偶:如何连接变量和字符串

如何在Bash中连接字符串变量

如何在bash脚本中连接变量和字符串

尝试在jQuery中连接字符串和变量

在ansible剧本中连接多个变量和字符串

如何在闭包中连接变量字符串

如何在正在写入文件的php中连接变量和字符串

如何在javascript中操作字符串的升序和降序并存储在变量中

如何使用go模板连接变量和字符串

如何在xslt中拆分和连接字符串

如何连接存储在变量中的字符串和MATLAB中的数字

如何在Javascript函数中传递字符串变量?

如何在JavaScript中将长变量连接到url字符串?

如何在连接字符串中使用变量?

我应该如何在 ng-repeat 中连接变量和字符串

如何在 JavaScript 中定位和匹配字符串的子字符串?

如何连接数组对象和字符串以在 Javascript 中获取字符串?

在 PHP 中连接 HTML 字符串和变量

通过连接字符串和整数在 InnerHTML 中引用 Javascript 变量名称

连接表中的字符串和计算变量

如何在 Bash 脚本中连接字符串变量

如何在python中连接字符串和变量并在其中赋值

如何在 JavaScript 的 XPath 中包含字符串变量?

如何在javascript中修剪和保存变量直到字符串中的第一个空格

如何在 jquery 选择器中连接字符串和变量?

如何在shell脚本中使用通配符连接字符串和变量

如何在sass中连接字符串和变量?

如何在 Javascript 中的 prop 内连接变量和字符串?