繁体   English   中英

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

[英]Jquery replaceWith:replace one php file with another php file based on screen resolution

我需要能够根据屏幕分辨率将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,同时将您要检查的变量的值设置为您要检查的值。

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

if(width == 1920){//做某事}

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

我会在http://api.jquery.com/jQuery.post/中使用简写POST,因为您尚未加载对象...

简而言之,我的代码如下所示,使用$ .post代替$ .ajax,假设我有一个标签为“ book”的标签,该标签最初具有book.php的内容,而我想将其替换为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);
        });
    }
}

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM