如果一个ID等于"X"或“;Y"不要运行函数
Jquery if an ID is equal to "X" OR "Y" do not run function
基本上,我想知道如果id等于"x"或"y",是否有办法绕过/关闭/不执行函数。
我已经安装了这个功能,动画锚链接到各自的区域/锚在页面上。也就是说,如果我点击按钮,它会沿着页面移动到按钮所引用的区域。
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash;
var $target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;
});
});
…它可以处理任何带有#.
的href。我需要在同一页面上使用SCSS功能添加显示更多区域。我在这里添加了示例:https://codepen.io/ojbravo/pen/YPJpXe
它自己工作,但使用上面的动画,因为它在href区域有一个#。因此,在"显示更多内容"之前,页面会上下摆动。我讨厌它,想让它消失
我想做的是在点击链接时,关闭上面这两个ID为"show-rm"answers"hide-rm"的页面链接的锚动画。
这是页面的代码:
<div class="panel-wrapper-rm">
<a href="#show-rm" class="show-rm btn-rm" id="show-rm">Show Full Article</a>
<a href="#hide-rm" class="hide-rm btn-rm" id="hide-rm">Hide Full Article</a>
<div class="panel-rm">
<p>fkjadsljfal;s kadfjas jkdajfkl;das jfklajfkl;a jadkljfkadl jdjfl;da
jk fl;kadjf kl;asdjfkl jdaklfj akl;jd flk;ajd l;kjflk;adj
fkl;adjfkdj kl;adjfklda jlkajflka jlk;fj daklsjfkldj kaljfkl;adj
kl;fjadl ;jfal;jd fklj fkasjf l;kajalk;j fkl;dj klajdfakls;d
jfl;akdfj adkjfl ajfd
</p>
</div><!-- end panel -->
<div class="fade-rm"></div>
</div><!-- end panel-wrapper -->
您可以使用:not选择器从选择器中排除某些选择
$('a[href^="#"]:not(#show-rm,#hide-rm)')
或者更清洁的。not方法
.not()方法最终将为您提供更可读的内容选择,而不是将复杂选择器或变量推入:not()选择器过滤器。在大多数情况下,这是一个更好的选择。
$('a[href^="#"]').not('#show-rm,#hide-rm')
相关文章:
- Javascript复选框函数:;缺少:在属性id之后"
- 为什么spyOn"停止函数“”的所有执行;Jasmine(要求澄清Jasmine 2.2间谍文件)
- 得到"未定义不是函数“;使用显示原型图案时出错
- 什么是"!函数(){}〃;javascript中的mean/do
- 我对“;返回true"嵌套函数内部;t工作
- 为什么"构造函数是一种特殊情况;
- 如何分解jQuery"toggle”;函数转换为separate“;显示“;以及“;隐藏“;功能
- "这个“;函数的作用域无效
- "未定义不是函数“;错误jQuery,.replaces,scrollTop
- 我收到一个类型错误,其中包含-"$不是函数“;使用noConflict时
- 传递带有符号“”的字符串变量'"到函数
- "撤消”;Javascript中的DOM操作函数
- JavaScript美学:;函数foo(){}"vs“;var foo=函数(){}"AMD功能
- 得到"TypeError:对象不是函数“”;在forEach循环中使用超级测试/超级代理时
- “=>"在javascript中定义函数的语法及其意义
- "可变变量可从闭包“”访问;在传递给Array.prototype.every的函数中
- "未捕获的类型错误:未定义的不是函数“;当向输入字段添加值时
- "对象不是函数“;当将Node.js HTTP服务器对象传递给Socket.IO时
- AngularJS'ng:areq错误参数"{controller}不是函数“;,CodeIgnite
- 页面不可滚动,其中ng include=“”;函数()"-该代码已不再使用