我需要能够根据屏幕分辨率将php文件替换为另一个php文件。这就是我目前所拥有的:
<script type="text/javascript">
function adjustStyle(width) {
width = parseInt(width);
if (width = 1920) {
$('book.php').replaceWith('book2.php');
}
}
$(function() {
adjustStyle($(this).width());
$(window).resize(function() {
adjustStyle($(this).width());
});
});
</script>
这显然不起作用——有什么想法吗?提前感谢您的帮助。
更新
这一切都结束了吗(替换book.php行(?
{ $("a[href*='book.php']").replaceWith('href', 'book2.php'); };
第二次更新以反映此处收集的输入
function adjustStyle(width) {
width = parseInt(width);
if (width == 1920) {
$('#bookinfo').replaceWith(['book2.php']);
$.ajax({
url: "book2.php",
}).success(function ( data ) {
$('#bookinfo').replaceWith(data);
});
$(function() {
adjustStyle($(this).width());
$(window).resize(function() {
adjustStyle($(this).width());
});
});
}
}
我还没有看到在你放入的上下文中使用replaceWith。解释说你想交换内容,你可能想通过使用jQuery的load((函数来完成。
if(width == 1920){
$("#myDiv").load("book1.php");
} else {
$("#myDiv").load("book2.php");
}
点击按钮将div的内容替换为book2.php.
第一个问题是我认为您没有使用正确的选择器。如果您有以下容器:
<div id="bookContainer">Contents of book1.php</div>
替换该容器内容的代码应该是
$('#bookContainer').replaceWith([contents of book2.php]);
为了获得[book2.php的内容],您需要使用以下代码通过ajax将其拉入。我还包括了上面的行,以便将book2.php中的数据放入容器中:
$.ajax({
url: "http://yoururl.com/book2.php",
}).success(function ( data ) {
$('#bookContainer').replaceWith(data);
});.
我还没有对此进行测试,所以可能会出现问题,但这是实现这一目标所需的概念。
首先…使用带有单=(等号(的条件将导致条件始终为true,同时将您检查的变量的值设置为您检查的值。
你的情况应该如下。。。
如果(宽度==1920({//做某事}
其次,请参阅jQuery文档,了解如何使用replaceWith((将整个标记替换为jQuery对象。。。http://api.jquery.com/replaceWith/
我会用一个简写POSThttp://api.jquery.com/jQuery.post/因为你还没有加载对象。。。
简而言之,如果我有一个id为"book"的标签,它最初包含book.php的内容,并且我想用book2.php的内容替换它,那么我的代码将如下所示,使用$.post而不是$.ajax…
HTML
<div id="book">*Contents of book.php*</div>
jQuery
function onResize(width) {
if (parseInt(width) >= 1920) {
$.post('book2.php',function(html){
$('#book').html(html).width(width);
});
}
else {
$.post('book.php',function(html){
$('#book').html(html).width(width);
});
}
}
希望这能有所帮助。