0

我需要能够根据屏幕分辨率用另一个 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());
});
});
}
}
4

3 回答 3

1

我还没有看到在你放入的上下文中使用 replaceWith。解释你想要交换内容,你可能想这样做我使用 jQuery 的 load() 函数。

    if(width == 1920){
            $("#myDiv").load("book1.php");
    } else {
            $("#myDiv").load("book2.php");
    }

单击按钮会将 div 的内容替换为 book2.php。

于 2013-02-25T22:14:52.323 回答
0

首先...使用带有单个 =(等号)的条件将导致条件始终为真,同时将您检查的变量的值设置为您检查的值。

您的情况应如下所示...

if (width == 1920) { // 做点什么 }

二、如何使用replaceWith()将整个标签替换为jquery对象,请参考jQuery文档... http://api.jquery.com/replaceWith/

我会使用带有http://api.jquery.com/jQuery.post/的简写 POST,因为您还没有加载对象......

简而言之,我的代码将如下所示,使用 $.post 而不是 $.ajax book2.php...

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);
        });
    }
}

希望这可以帮助。

于 2013-02-25T22:15:07.350 回答
0

第一个问题是我认为您没有使用正确的选择器。如果您有以下容器:

<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);
});.

我尚未对此进行测试,因此可能存在问题,但这是您完成此操作所需的概念。

于 2013-02-25T21:52:12.937 回答