Jquery replaceWith:根据屏幕分辨率将一个php文件替换为另一个php文件



我需要能够根据屏幕分辨率将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);
        });
    }
}

希望这能有所帮助。

最新更新