首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于URL参数DRY的视频弹窗触发事件

基于URL参数DRY的视频弹窗触发事件
EN

Stack Overflow用户
提问于 2018-07-28 00:56:57
回答 1查看 20关注 0票数 0

我正在尝试清理这段代码。我怎么才能把它弄干呢?我重复了很多代码。

代码语言:javascript
复制
function getURLParameter(name) {
return decodeURI(
    (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);}

if(getURLParameter('video1')==1){ $(".urlVid1").trigger('click'); }

if(getURLParameter('video2')==1){ $(".urlVid2").trigger('click'); }

if(getURLParameter('video3')==1){ $(".urlVid3").trigger('click'); }

if(getURLParameter('video4')==1){ $(".urlVid4").trigger('click'); }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-28 01:07:45

至少有几种方法可以做到这一点。您可以使用循环的索引,或者显式列出您想要考虑的键。

代码语言:javascript
复制
function getURLParameter(name) {
  return decodeURI(
    (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, null])[1]
  );
}

//using just the number
[1, 2, 3, 4].forEach(function(key){
  if (getURLParameter('video'+ key) === 1) {
    $('.urlVid'+ key).trigger('click');
  }
});

//explicitly giving the keys
[
  { video: 'video1', url: '.urlVid1' }
  , { video: 'video2', url: '.urlVid2' }
].forEach(function(pair){
  if (getURLParameter(pair.video) === 1) {
    $(pair.url).trigger('click');
  }
});

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51562444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档