如何使用按钮调用Javascript

时间:2017-01-03 00:43:41

标签: javascript php jquery html wordpress

使用CMS Wordpress,我有一个文件light.js,其目录是wordpress ... themes / mytheme / js / light.js。这是light.js的脚本:



$(document).ready(function(){$("#lightsoff").click(function(){$("body").prepend('<div id="fader" style="position: absolute; 
z-index: 1000; left: 0px; top: 0px; background-color: rgba(0, 0, 0, 0.7); width: '+document.body.clientWidth+'px; height: '+document.body.clientHeight+'px; display: none;"></div>');$("#embed_holder").css("z-index","2000");$("#fader").fadeIn(500,function(){$("body")
.prepend('<div id="fader-message" style="position: absolute; z-index: 1100; top: 370px; left: 200px; 
color: #fff; font-size: 18px; font-family: Calibri;">Klik dimana saja pada layar untuk mematikan mode gelap.</div>');
$("#fader").bind("click",function(){$("#fader-message")
.fadeOut(1000,function(){$("#fader-message")
.remove();$("#fader").fadeOut(500,function(){$("#fader").remove();$("#embed_holder").css("z-index","0");});});});});});});
&#13;
&#13;
&#13;

然后我在function.php中创建了一个函数,如下所示:

function lightsoff() {
      wp_enqueue_script('jquery');
      wp_enqueue_script('themesscript', get_template_directory_uri() . '/js/light.js', array('jquery'));    
}
add_action('wp_enqueue_scripts', 'lightsoff');

在wordpress的帖子中,我尝试使用此脚本调用函数 lightsoff

<a href="javascript:void(0)" onclick="lightsoff()">Mode Gelap</a></div>

我检查了在我的网站源代码中打开发布页面时已读取的light.js文件:

<script type='text/javascript' src='http://....../wp-content/plugins/wp-shortcode/js/jquery.tipsy.js?ver=4.7'></script>

但是当我点击模式Gelap 时,不会发生任何效果。哪部分错了?请帮帮我。

2 个答案:

答案 0 :(得分:1)

你在function.php中创建了lightsoff()函数,所以lightsoff是php fucntion而不是js函数所以你不能像这样调用它

<a href="javascript:void(0)" onclick="lightsoff()">Mode Gelap</a></div>

现在解决方案是在JavaScript中创建lightsoff函数。这是代码。

$(document).ready(function(){
    function lightsoff() {
          wp_enqueue_script('jquery');
          wp_enqueue_script('themesscript', get_template_directory_uri() . '/js/light.js', array('jquery'));    
    }
});

将你的lightsoff()函数放在

$(document).ready(function(){  
});

正如我上面提到的那样。

答案 1 :(得分:0)

这样的东西?

jQuery(document).ready(function($) {

  $("#lightsoff").click(function() {
    $("body").prepend('<div id="fader" style="position: absolute; z-index: 1000; left: 0px; top: 0px; background-color: rgba(0, 0, 0, 0.7); width: ' + document.body.clientWidth + 'px; height: ' + document.body.clientHeight + 'px; display: none;"></div>');
    $("#embed_holder").css("z-index", "2000");
    $("#fader").fadeIn(500, function() {
      $("#fader").prepend('<div id="fader-message" style="color: #fff; font-size: 18px; font-family: Calibri;">Klik dimana saja pada layar untuk mematikan mode gelap.</div>');
      $("#fader").bind("click", function() {
        $("#fader-message").fadeOut(1000, function() {
          $("#fader-message").remove();
          $("#fader").fadeOut(500, function() {
            $("#fader").remove();
            $("#embed_holder").css("z-index", "0");
          });
        });
      });
    });
  });

}(jQuery));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="lightsoff">Click me</button>