- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这段用于平滑滚动的代码,它工作得很好,但只适用于一个“clickme”id,我怎么能将这段代码用于多个选项卡,我++
<div class="navbar">
<button type="button" id="clickme1">Scroll to red section!</button>
<button type="button" id="clickme2">Scroll to blue section!</button>
</div>
<div class="second" id="second">Hello</div>
<div class="tab1" id="tab1">The start of the red section!</div>
<div class="tab2" id="tab2">The start of the blue section!</div>
这里是我想使用的纯javascript,请不要推荐我jQuery和 anchor 导航。
document.getElementById('clickme1').addEventListener('click', function() {
var header = document.querySelectorAll('.navbar');
aim = -header[0].clientHeight;
initial = Date.now();
smoothScroll(document.getElementById('tab1'));
});
******* 或更简化,我怎样才能使这段代码更短:*******
document.getElementById('clickme1').addEventListener('click', function() {
var header = document.querySelectorAll('.navbar');
aim = -header[0].clientHeight;
initial = Date.now();
smoothScroll(document.getElementById('tab1'));
});
document.getElementById('clickme2').addEventListener('click', function() {
var header = document.querySelectorAll('.navbar');
aim = -header[0].clientHeight;
initial = Date.now();
smoothScroll(document.getElementById('tab2'));
});
这里是 JSFIDDLE
最佳答案
你可以做如下的事情
// Get buttons
var buttons = document.getElementsByTagName('button');
for (var i = 0; i < buttons.length; i++) {
// Iterate over buttons and add handler
buttons[i].addEventListener('click', clickHandler, false);
}
// Handler function
function clickHandler(){
var counter = this.id.substring(7); // Substring id to get counter
var header = document.querySelectorAll('.navbar');
aim = -header[0].clientHeight;
initial = Date.now();
smoothScroll(document.getElementById('tab'+counter));
}
注意 :由于您的页面上可能有一些其他按钮并且不想向它们添加此处理程序,因此,我建议您添加一个特定的标签名称选择器来代替类到按钮元素,然后使用类选择器获取元素。
关于javascript - getElement 1 和 do1、getElement 2 和 do2、getElement 3 和 do3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34593510/
我有这段用于平滑滚动的代码,它工作得很好,但只适用于一个“clickme”id,我怎么能将这段代码用于多个选项卡,我++ Scroll to red section! Scroll to b
对于这个作业,我们正在编写一个不可变的类,它实现了一个矩阵接口(interface),该接口(interface)具有一些矩阵函数,加、减、乘...我们克隆提供的数据以创建一个不可变的新矩阵。接口(i
我编写了一些在 Chrome 上运行良好的代码。但是,在 Firefox 上运行时,它不起作用。 Firebug 报告 getClass 函数中的parentElement 字段未定义。看起来也许 F
无法理解 getElements 的行为 var ele = document.getElementsByClassName('logo-save'); console.log('Elements',
这个问题已经有答案了: Why does jQuery or a DOM method such as getElementById not find the element? (7 个回答) 已关闭
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
我不想将值传递给函数,我希望它自己找到值。 function add(buttonNum) { var elements = document.getElementsByTagName("b
大家好。 在 EXTjs(可能是 4.x 版本)中,我有一个带有几级子菜单的菜单我想向其中一些子菜单添加数据属性,实际上我可以毫无问题地执行此操作:Ext.getCmp("notificationMe
document.getElements() 函数的支持程度如何。此外,是否有一个 javascript 引用页面在某处包含详细的浏览器支持信息。我通常使用 mozilla 文档,但我想知道是否有更好
仅在 IE 中查看页面时,我遇到 JavaScript 问题。我明白了: object doesn't support this property or method 我的 JavaScript 代码
我正在尝试将 Joomla 1.5 插件转换为 Joomla 2.5 插件。当这个插件运行时,Firebug 会说“TypeError: document.getElement is not a fu
我有一个包含值的网格 我需要禁用第二行的 ID 为分钟的文本框。以下示例不起作用。 document.getElementById("h_ID")[2].readOnly = true; 有人可以帮我
我在获取 ListModel 的所有元素时遇到问题,当我尝试将字符串写入文件时,它们输出如下所示的内容: [Ljava.lang.String;@79b43f[Ljava.lang.String;@7
我们正在处理遗留代码,并且遇到不稳定测试的问题。 我想增加默认超时,但 driver.findElement 在很多地方都使用 - 覆盖每个调用以使用 WebDriverWait 将是一项艰巨的任务。
我试图使函数的结果出现在脚本外部的元素中。我得到的不是结果,而是“未定义”消息。这可能只是一个语法问题,但我无法让它工作。 这是我所做的: 1 + 2 = here goes the
我正在创建一个数组,其中包含我的应用程序中某些组件的高度。 为此,我必须获取元素及其高度。 我是通过这个函数做到的: getElement(method, elem){ switch (met
出于某种原因,getElementById() 和 getElementsByClassName() 无法定位 gmail 上的许多元素。例如,导航栏上标题为“邮件”的 div 具有代码: Mail
本文整理了Java中org.eclipse.xsd.XSDFeature.getElement()方法的一些代码示例,展示了XSDFeature.getElement()的具体用法。这些代码示例主要来
本文整理了Java中org.eclipse.xsd.XSDConcreteComponent.getElement()方法的一些代码示例,展示了XSDConcreteComponent.getElem
本文整理了Java中bibliothek.util.xml.XElement.getElement()方法的一些代码示例,展示了XElement.getElement()的具体用法。这些代码示例主要来
我是一名优秀的程序员,十分优秀!