我需要能够根据屏幕分辨率将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());
});
});
}
}
答案 0 :(得分:1)
我没有看到在你放入的上下文中使用replaceWith。解释你想要交换内容,你可能想要使用jQuery的load()函数。
if(width == 1920){
$("#myDiv").load("book1.php");
} else {
$("#myDiv").load("book2.php");
}
单击该按钮会将div的内容替换为book2.php。
答案 1 :(得分:0)
首先关闭...使用带有单个=(等号)的条件将导致条件始终为真,同时将检查的变量值设置为您检查的值。
您的情况应如下所示......
if(width == 1920){// do something}
其次,请参阅jQuery文档,了解如何使用replaceWith()替换整个标记与jquery对象... http://api.jquery.com/replaceWith/
我会使用http://api.jquery.com/jQuery.post/的速记POST,因为你还没有加载对象......
简而言之,我的代码看起来像使用$ .post而不是$ .ajax,假设我有一个标签,其id为“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);
});
}
}
希望这有帮助。