【问题标题】:jQuery .click() function for auto-open popup ad用于自动打开弹出广告的 jQuery .click() 函数
【发布时间】:2017-04-11 21:28:48
【问题描述】:

我希望 jQuery 点击网站上的任何项目以打开来自广告商的弹出广告。通常用户必须点击网站上的任何点,但我希望弹出窗口在加载后打开。

    <script src="assets/js/popads.js" type="text/javascript"></script>
</head>
<body>
    <script>
      $(function () {
          setTimeout(function () {
              $("#clickme").click();
              ;
          }, 5000);
      });
    </script>
    <li><a id="clickme" href="#intro">Home</a></li>

我为此选择了主页按钮,但它不起作用。如果用户点击页面上的任何内容,弹出窗口会自动打开,这是来自广告网络的设置,不是我的。所以我不想等到用户点击,我希望 jQuery 在页面完成加载时在用户之前点击,所以弹出窗口打开。有什么想法吗?

这里是完整代码:https://pastebin.com/0rdxahj7

【问题讨论】:

    标签: javascript jquery popup popupwindow


    【解决方案1】:

    您使用 id 作为 $("#intro").click(); 的选择器 如果您想通过其 href 值选择链接,请使用:

    $('a[href="#intro"]');

    或者为您的链接分配一个 ID:

    &lt;a id="intro" href="#intro"&gt;Home&lt;/a&gt;

    【讨论】:

    • 为其分配了一个 ID,但无法正常工作。
    • 首页
  • 您需要将点击功能绑定到链接:$('#clickme').click(function (e) { // do whatever shows your pop-up });
  • 如果用户点击页面上的任何内容,弹出窗口会自动打开,这是来自广告网络的设置,不是我的。所以我不想等到用户点击,我希望 jQuery 在页面完成加载时在用户之前点击,所以弹出窗口打开。看看我添加的 Pastebin。
  • 在不知道广告脚本如何绑定点击事件的情况下,很难判断,您需要弄清楚这部分。您的文档就绪功能将在 5 秒后触发您的主页链接上的“点击”事件。
  • 即使我更改了它没有点击的元素,它也不会点击。我改成&lt;a id="clickme" href="#one" class="button style2 down"&gt;More&lt;/a&gt;这里可以看:unlogis.ch
  • 【解决方案2】:

    您正在延迟点击而不是弹出操作。

    试试这个:

    $(function () {
      $('#clickme').click(function (e) {
    
        //set the timeOut here
        setTimeout(function () {
    
          // open the pop-up function like
          $('#pop-up').show(); // or .toggle();
    
        }, 5000);
    
      });
    }
    

    您是使用某个特定的网络来投放广告还是自己构建的? 因为要做你想做的,你需要一个广告结束加载时的回调函数。

    因为您正在做的是延迟弹出窗口,但您应该检查弹出窗口是否已加载。

    你可以检查这个库,也许可以帮助你加载 - pace.js.


    我已经修改了这个script

    function eventFire(){
        var evObj = document.createEvent('Events');
        evObj.initEvent('click', true, false);
        window.dispatchEvent(evObj);
    }
    
    window.onload = function() {
      eventFire();
    }
    

    【讨论】:

    • 我想延迟点击。我认为它会起作用,但也不会延迟点击并且仅使用 .click() 不起作用。如果用户点击页面上的任何内容,弹出窗口会自动打开,这是来自广告网络的设置,不是我的。所以我不想等到用户点击,我希望 jQuery 在页面完成加载时在用户之前点击,所以弹出窗口打开。看看我添加的 Pastebin。
    • 你试过 jQuery .trigger() 吗? Here an example
    • 这小部分代码很难帮上忙。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签