Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动触发jquery插件onclick_Javascript_Jquery - Fatal编程技术网

Javascript 自动触发jquery插件onclick

Javascript 自动触发jquery插件onclick,javascript,jquery,Javascript,Jquery,我有一个jquery插件,当你点击按钮时,它会显示一个隐藏的div和动画。我使用了jquery.fn原型 这是jquery插件 (function($) { 'use strict'; $.fn.launchBtn = function(options) { var mainBtn, panel, clicks, settings, launchPanelAnim, closePanelAnim, openPanel

我有一个jquery插件,当你点击按钮时,它会显示一个隐藏的div和动画。我使用了jquery.fn原型

这是jquery插件

 (function($) {
            'use strict';
            $.fn.launchBtn = function(options) {
               var mainBtn, panel, clicks, settings, launchPanelAnim, closePanelAnim, openPanel, boxClick, panelBody, panelMedia;
               mainBtn = $(".proactive-chat-button");
               panel = $("#proactive-chat .panel");
               panelMedia = $("#proactive-chat .panel-media");
               panelBody = $("#proactive-chat .panel-body");
               clicks = 0;
               //default settings
               settings = $.extend({
                  openDuration: 600,
                  closeDuration: 200,
                  rotate: true
               }, options);
               //Open panel animation
               launchPanelAnim = function() {
                  $(panel).removeClass('swift-out');
                  $(panelMedia).removeClass('swift-out');
                  $(panelBody).removeClass('swift-out');
                  panel.animate({
                     opacity: "show",
                     width: "show",
                     height: "show",
                  }, settings.openDuration);
                  $(panel).addClass('swift-in');
                  $(panelMedia).addClass('swift-in');
                  $(panelBody).addClass('swift-in');
                  panelMedia.animate({
                     opacity: "show",
                     width: "slideDown",
                     height: "slideDown",
                     transitionDelay: "0.1s"
                  }, settings.openDuration);

                  calculate();
                  $('.proactive-chat-button').addClass('shadow-3');

               };
               //Close panel animation
               closePanelAnim = function() {
                  $(panel).removeClass('swift-in');
                  $(panelMedia).removeClass('swift-in');
                  $(panelBody).removeClass('swift-in');
                  $(panel).addClass('swift-out');
                  $(panelMedia).addClass('swift-out');
                  $(panelBody).addClass('swift-out');
                  panel.animate({
                     opacity: "hide",
                     width: "hide",
                     height: "hide"
                  }, settings.closeDuration);
                  panelMedia.animate({
                     opacity: "hide",
                     width: "slideDown",
                     height: "slideDown",
                     transitionDelay: "0.02s"
                  }, settings.openDuration);
                  $('.proactive-chat-button').removeClass('shadow-3');
                  $('.modal-overlay').fadeOut(100);
               };
               //Open panel and rotate icon
               openPanel = function(e) {
                  if (clicks === 0) {
                     if (settings.rotate) {
                        // $('.proactive-chat-icon').removeClass('rotateBackward').toggleClass('rotateForward');
                     }
                     launchPanelAnim();
                     clicks++;
                  } else {
                     if (settings.rotate) {
                        //$('.proactive-chat-icon').removeClass('rotateForward').toggleClass('rotateBackward');
                     }
                     closePanelAnim();
                     clicks--;
                  }
                  e.preventDefault();
                  return false;
               };
               //Allow clicking in panel
               boxClick = function(e) {
                  e.stopPropagation();
               };
               //Main button click    
               mainBtn.on('click', openPanel);
               //Prevent closing panel when clicking inside
               panel.click(boxClick);
               $('.proactive-chat-icon').click(function() {
                  $('.proactive-chat-icon .procty').toggleClass('proactive-procty-close').toggleClass('proactive-procty');
               });
               $('.panel-heading-button').click(function() {
                  if (clicks === 0) {
                     if (settings.rotate) {
                        // $('.proactive-chat-icon').removeClass('rotateBackward').toggleClass('rotateForward');
                        $('.proactive-chat-icon .procty').toggleClass('proactive-procty-close').toggleClass('proactive-procty');
                     }
                     launchPanelAnim();
                     clicks++;
                  } else {
                     if (settings.rotate) {
                        //$('.proactive-chat-icon').removeClass('rotateForward').toggleClass('rotateBackward');
                        $('.proactive-chat-icon .procty').toggleClass('proactive-procty').toggleClass('proactive-procty-close');
                     }
                     closePanelAnim();
                     clicks--;
                  }
               });
               $(document).click(function() {
                  closePanelAnim();
                  if (clicks === 1) {
                     $('.proactive-chat-icon .procty').toggleClass('proactive-procty').toggleClass('proactive-procty-close');

                  }
                  clicks = 0;
               });
            };
         }(jQuery));
为了使用它,我调用了launchBtn()方法

我关心的是,我想在满足某个时间间隔或条件时自动触发它。我使用了$('proactivechat').trigger('click'))​但是它不起作用。有没有办法我可以自动触发它?先谢谢你

.click()
返回jQuery对象,因此在单击事件中不会调用函数。如果希望在单击过程中触发,则需要将处理程序函数作为参数添加到
click()
中,如下所示:

$("#proactive-chat").click(function(){
    $(this).launchBtn({
        openDuration: 250,
        closeDuration: 300
    });
});
在这种形式下,
.trigger('click')
应该可以工作,尽管我不太明白为什么在插件中的任何地方都不引用
这个
时要使用
$.fn
原型。这可能是一个简单的函数。

.click()
返回jQuery对象,因此在单击事件中不会调用函数。如果希望在单击过程中触发,则需要将处理程序函数作为参数添加到
click()
中,如下所示:

$("#proactive-chat").click(function(){
    $(this).launchBtn({
        openDuration: 250,
        closeDuration: 300
    });
});
在这种形式下,
.trigger('click')
应该可以工作,尽管我不太明白为什么在插件中的任何地方都不引用
这个
时要使用
$.fn
原型。这可能是一个简单的函数