2015-02-05 40 views
-4

如何使用PHP实现此目的:在向下滚动< 100px时更改DIV的css,并在大于100px时将其更改回来。使用PHP向下滚动时更改CSS

这是我会在普通的JavaScript做的,但它不与PHP工作

<script language='javascript'> 
    var fixed = false; 

$(document).scroll(function() { 
if($(this).scrollTop() >= 100) { 
    if(!fixed) { 
     fixed = true; 
     $('#myDivTop').css({position:'fixed',top:0}); 
    } 
} else { 
    if(fixed) { 
     fixed = false; 
     $('#myDivTop').css({position:'static'}); 
    } 
} 
}); 
</script> 
+5

首先,了解PHP如何工作以及JS如何工作。那么你会发现你的问题很有趣。 – 2015-02-05 23:42:17

+0

你的问题根本没有意义。你为什么不告诉我们你想要做什么?这似乎是一个x-y问题,不是吗? – 2015-02-05 23:47:49

回答

0

不能存档在PHP相同的功能,因为它不能DOM事件或更新反应页面(它可以提供数据,但PHP不会更新)。您可以使用AJAX在页面上调用PHP而无需重新加载,并且可以提供可以使用的数据。

你可以让PHP产生的代码,并echo它作为HTML如果这是你在找什么,你的代码似乎并没有从服务器需要什么:

<?php 
echo <<<HERE 
<script language='javascript'> 
    var fixed = false; 

$(document).scroll(function() { 
if($(this).scrollTop() >= 100) { 
    if(!fixed) { 
     fixed = true; 
     $('#myDivTop').css({position:'fixed',top:0}); 
    } 
} else { 
    if(fixed) { 
     fixed = false; 
     $('#myDivTop').css({position:'static'}); 
    } 
} 
}); 
</script> 
HERE; 
?> 
1

除非你正在运行的JavaScript服务器端环境(如Node.js的),你的JavaScript代码将被在客户端执行(这就是为什么您可以像在代码片段中一样操作DOM),而PHP在服务器端执行,允许您与存储在服务器上的数据进行交互。

这听起来像你需要从JavaScript调用一些服务器端功能,然后从JavaScript处理这个结果。在这种情况下,您正在寻找AJAX调用。

尝试W3Schools AJAX tutorial以了解更多关于这是如何工作的信息。

0

JavaScript只能与HTML元素进行交互。如果你想实现这一点,只需在HTML代码中添加代码即可......无需触摸php。

有些事情,你其实可以做的就是从PHP写你的JavaScript,像这样:

<script language='javascript'> 
    alert("<?php echo 'Hola amigos'; ?>"); 

</script>