我想阻止某些功能在某些页面上运行。例如,我将<?php $thisPage="services"; ?>
放在我的服务页面顶部,将我的脚本放在我的script.js中。我尝试使用return;
退出,但这只会破坏所有页面上的所有内容。看起来如此直截了当,为什么这不起作用?
$(window).on('scroll resize', function() {
var self = $(this),
height = self.height(),
top = self.scrollTop();
// ** Stop this code from running on the services page **
if ($thisPage=="services") {
return;
}
// but keep running on all other pages
if (($(window).width() >= 550) && ($(this).scrollTop() > 550)) {
$('nav#menu').fadeIn(500);
} else if (($(window).width() >= 550) && ($(this).scrollTop() < 550)) {
$('nav#menu').fadeOut(500);
} else {
$('nav#menu').hide();
}
});
答案 0 :(得分:4)
你在这里错误地混合了PHP和JavaScript:
if ($thisPage=="services") {...
您要做的是在加载页面时使用PHP设置JavaScript变量:
<?php echo "var foo = $thisPage"; ?>
然后在JavaScript测试中使用foo
:
if (foo=="services") {...
答案 1 :(得分:3)
看起来像是php和javascript的混合,但php不在php标签内,因此不会被执行。您可以尝试使用php设置变量,然后在javascript中进行测试。
<script>
<?php
echo "var page='$thisPage';";
?>
$(window).on('scroll resize', function() {
var self = $(this),
height = self.height(),
top = self.scrollTop();
if( page=='services' ) return;
// but keep running on all other pages
if (($(window).width() >= 550) && ($(this).scrollTop() > 550)) {
$('nav#menu').fadeIn(500);
} else if (($(window).width() >= 550) && ($(this).scrollTop() < 550)) {
$('nav#menu').fadeOut(500);
} else {
$('nav#menu').hide();
}
});
</script>