Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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 Wordpress SideOffer在正文单击时关闭_Javascript_Php_Jquery_Wordpress - Fatal编程技术网

Javascript Wordpress SideOffer在正文单击时关闭

Javascript Wordpress SideOffer在正文单击时关闭,javascript,php,jquery,wordpress,Javascript,Php,Jquery,Wordpress,这是在插件的php文件上编写的jQuery代码。它现在工作正常,但我希望它关闭时,有人点击面板外 以下是javascript代码: <script type="text/javascript"> jQuery(document).ready(function($) { /* SideOffer Sidebar Functionality */ $("#sideoffer").toggle( function() { $(this).animate({

这是在插件的php文件上编写的jQuery代码。它现在工作正常,但我希望它关闭时,有人点击面板外

以下是javascript代码:

<script type="text/javascript">
jQuery(document).ready(function($) {
    /* SideOffer Sidebar Functionality */
    $("#sideoffer").toggle(
        function() { $(this).animate({ "right": "<?php echo get_option('hd_sideoffer_out'); ?>px" }, "slow"); },
        function() { $(this).animate({ "right": "<?php echo get_option('hd_sideoffer_in'); ?>px" }, "slow"); }
    );


    /* SideOffer .hd-sideoffer click function */
    $(".sideoffer").click(function(){ $("#sideoffer").click(); });
    /* SideOffer aLlow clicks on content box */
    $("#sideoffer .box").click(function(event){ event.stopPropagation(); });

});</script>

jQuery(文档).ready(函数($){
/*侧边栏功能*/
$(“#sideoffer”)。切换(
函数(){$(this).animate({“right”:“px”},“slow”);},
函数(){$(this).animate({“right”:“px”},“slow”);}
);
/*hd SideOffer点击功能*/
$(“.sideoffer”)。单击(函数(){$(“#sideoffer”)。单击();});
/*SideOffer允许点击内容框*/
$(“#sideoffer.box”)。单击(函数(事件){event.stopPropagation();});
});

请提供帮助。

您要做的是将其添加到
ready
函数中

它所做的是在文档上添加一个
委托
事件,以便在单击任何
\sideoffer
时触发,然后隐藏
\sideoffer

$(document).on('click', ':not(#sideoffer)', function(){ 
    $('#sideoffer').hide()
});

您需要捕获除原始单击之外的所有内容的单击事件,我猜这是
#sideoffer

$('body').click(function(event) {
    if (!$(event.target).closest('#sideoffer').length) {
        $('#sideoffer').animate({ "right": "<?php echo get_option('hd_sideoffer_in'); ?>px" }, "slow");
    };
});
$('body')。单击(函数(事件){
if(!$(event.target).最近('#sideoffer')。长度){
$('sideoffer').animate({“right”:“px”},“slow”);
};
});
尝试使用javascript

$('body').click(function(event) {
    var target = event.target;
    /* do something when getting element you are currently click on*/
}

下面是一个例子,

OP最初使用的是javascript,您引用的是jQuery!谢谢你,伙计:D!!成功了!!。如果我能像你一样理解javascript和jquery就好了:(面临一个问题,现在要打开幻灯片,我必须双击它,而且我还想再做一次更改,如果在15秒内div内没有任何事情发生,那么它应该自动关闭。这可能吗?