Jquery smoothscrolling - 添加多个排除项

时间:2017-11-29 08:34:15

标签: jquery

新手在这里:))

我在页面上滚动平滑,我想排除4个链接。

使用下面的代码我可以排除4个链接中的一个,如何排除其他3个链接?

我试图获得'或'操作员工作和失败。

我也尝试过通配符。

排除是#sample-3a#sample-3b#sample-3c#sample-3d

if (this.hash !== "#sample-3a") {
      event.preventDefault();
      var hash = this.hash;

任何帮助将不胜感激 - 谢谢:)

1 个答案:

答案 0 :(得分:0)

您需要使用logical OR (||) operator

if (this.hash !== "#sample-3a" || this.hash !== "#sample-3b" || this.hash !== "#sample-3c" || this.hash !== "#sample-3d") {
      event.preventDefault();
      var hash = this.hash;
}

作为替代方法,您可以使用arrayobject来保留值,然后在if条件检查值中显示。

var ref = ['#sample-3a', '#sample-3b', '#sample-3c', '#sample-3d'];

// check value present in array
// you can also use `ref.indexOf(this.hash) == -1`
if (!ref.includes(this.hash)) {
      event.preventDefault();
      var hash = this.hash;
}

或使用对象引用。

var ref = { '#sample-3a': '', '#sample-3b': '', '#sample-3c': '', '#sample-3d': ''};

// check key present in the reference object
if (!(this.hash in ref)) {
      event.preventDefault();
      var hash = this.hash;
}