循环内的Javascript点击功能

标签 javascript jquery

我的 javascript 不太好,但我已经搜索了 5 个小时,但没有成功。

我试图让按钮工作,如果我一个一个地编写代码,它工作正常并且一切正常。

我能理解这个问题。 单击部分仅在实际进行单击时才起作用。 我对吗? 但是我该如何更正它才能像我需要的那样工作?

我可以将 $(name) 值发送到点击功能吗 所以当我说 button-1 被点击然后 scrollTop: $(button-1-block) 或者我在这种情况下想多了。

    var divHeight = 700
    var blocks = document.getElementsByClassName("blocks");
    var i = 1;

    for(i=1;i<blocks.length+1; i++) {
        var name = "#button-"+i;
        var blx = "#block-"+i;
        $(name).click(function(){
            $('html, body').stop().animate({
                scrollTop: $(blx).offset().top - ( $(window).height() - divHeight )/2 
              }, 2100,'easeInOutExpo');
         });

    }

最佳答案

试试这个:

var divHeight = 700
//var blocks = $(".blocks");

$('[id^="button"]').click(function(){
     var block = '#block-' + this.id.match(/\d+/g).join("");
     $('html, body').stop().animate({
          scrollTop: $(block).offset().top - ( $(window).height() - divHeight )/2 
     }, 2100,'easeInOutExpo');
});

关于循环内的Javascript点击功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12659281/

相关文章:

jquery - 无法将图像作为背景。手机版

javascript - 数组字符串到 int、highcharts、javascript

javascript - 带有颜色转换 jquery 的进度条?

JavaScript:由 eval() 触发的异常对象的标准字段是什么?

javascript - 数据表中的 Hangout、Evernote 菜单效果

javascript - 如何水平对齐面板中具有动态大小的按钮

javascript - Visual Studio 2015 上的 Cordova Windows 8.1 外部图像加载到 img 标签

javascript - 页面不显示 JSON 对象属性

javascript - 三 Angular 形的 Bootstrap 列

javascript - 从左下到右上绘制复选标记CSS动画