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

ここで収集された入力を反映する 2 回目の更新

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 を使用します...

要するに、私のコードは $.ajax の代わりに $.post を使用して、元々 book.php のコンテンツを持つ「book」の ID を持つタグがあり、それをコンテンツに置き換えたいと仮定して、次のようになります。 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 に答える