我正在使用名为Reveal的插件,并尝试根据URL中是否存在变量(即www.mysite.com?status=new)来触发它。我已经测试了GET状态代码(工作正常,回显它),并且在按下按钮时设置显示工作。两者都完美无缺。但是,目标是在状态== new时触发事件。这是我的代码:
<?
if($status == 'new'){
echo '<script type="text/javascript">$(\'#myModal\').reveal();
</script>';
}
?>
不起作用:/任何帮助?我尝试了很多这种组合,似乎没有任何效果。我的代码放在页面底部附近(在正文部分),不确定是否重要..
编辑:也试过这个(没用):
<?
if($status == 'new'){
echo '<script type="text/javascript">
$(document).ready(function() {
e.preventDefault();
$(\'#myModal\').reveal();
});
</script>';
}
?>
扎克
答案 0 :(得分:2)
请注意,这种内联JS将立即由浏览器执行,因此您尝试显示的元素可能尚未准备好显示(因此没有任何反应)。通常,您可以通过调用$(document).ready()
上的脚本来解决此问题。请参阅jQuery网站上的this article
答案 1 :(得分:2)
试试这个:
echo '
<script type="text/javascript">
$(document).ready(function(){
$(\'#myModal\').reveal();
});
</script>';
正如m90已经建议的那样,在执行脚本之前加载DOM可能是个好主意。而且你可以把它放在任何地方,通常我把它放在头部,但它一切都很好。
答案 2 :(得分:0)
只是想在这里采取一些不同的方法:
// Example URL:
// test.php?status=Message
var $_GET = <?php echo json_encode( $_GET ); ?>;
// alert( $_GET['status'] );
// console.log($_GET);