1

だから私はjsがひどいです、そして私はjqueryスクリプトを取得しようとしています、テキストボックスにコンテンツがあるかどうかをonblurチェックします、そしてそれがスクリプトを続行する場合、これは私が持っているものです

<script type="text/javascript">
    $(document).ready(function() {
        $("#embed").blur(function (){
            $("#embed").val().length > 0){
                $("#fade").fadeIn(1000);olink = $("#embed").val(); 
                $("#oembed").oembed(olink, {
                    embedMethod: "append", 
                    maxWidth: 300, 
                    maxHeight: 150 
                });
            });
        }
    });
</script> 

しかし、次の行に構文エラー(dreamweaver)が表示されます

$( "#embed")。val()。length> 0){

どんな提案も素晴らしいでしょう...ありがとう

4

3 に答える 3

1
<script type="text/javascript">
$(document).ready(function() {
  $("#embed").blur(function (){
    if ($("#embed").val().length > 0){
      $("#fade").fadeIn(1000);
      olink = $("#embed").val(); 
      $("#oembed").oembed(olink, {
        embedMethod: "append", 
        maxWidth: 300, 
        maxHeight: 150 
      });
    }
  });
});
</script>

それでうまくいくはずです。

于 2012-06-09T02:49:44.087 に答える
1

ifステートメントがないようです。試してみてください。

$(document).ready(function() {
    $("#embed").blur(function () {
        if($("#embed").val().length > 0) {
            $("#fade").fadeIn(1000);
            olink = $("#embed").val(); 
            $("#oembed").oembed(olink, {
                embedMethod: "append", 
                maxWidth: 300, 
                maxHeight: 150 
            });
         }
    });
});

編集

次のように、コードを少しすっきりさせることができます。

$(document).ready(function() {
    $("#embed").blur(function() {
        var $this = $(this);
        var embed_val = $this.val();
        if(embed_val.length) {
            $("#fade").fadeIn(1000);
            $("#oembed").oembed(embed_val, {
                embedMethod: "append", 
                maxWidth: 300, 
                maxHeight: 150 
            });
         }
    });
});
于 2012-06-09T02:47:13.793 に答える
1

これはあなたのコードがどのように見えるべきか(もちろん私の意見では)、適切にフォーマットされています:

$(document).ready(function() {
    var $embed = $("#embed"),
        $fade = $('#fade'),
        $oembed = $('#oembed'),
        oembed = {
            embedMethod: "append",
            maxWidth: 300,
            maxHeight: 150
        },
        olink;

    $embed.blur(function(){
        if ($embed.val().length){
            $fade.fadeIn(1000);

            olink = $embed.val(); 
            $oembed.oembed(olink, oembed);
        }
    });
});

混乱の乱雑なクラスター以外に、投稿したコードの何が問題になっていますか?あなたif()は...そこにいませんでした。あなたは省略if(しました:

$(document).ready(function() {
    $("#embed").blur(function (){
        $("#embed").val().length > 0){

見えますか?これらの3つの線を区別するのはちょっと難しいです。上記のコードを見てください...

  1. セレクターキャッシング(var $embed = $("#embed"))を適切に使用します。
  2. varすべての変数をaで区切って宣言するために使用し,ます。これにより、すべての変数がローカルになります。また...
  3. 適切olinkな非グローバルスコープの変数を作成します(そして、クロージャが原因でまだ機能しますが、どれほど気の利いたものです)。
  4. oembedオブジェクト(引数として渡されたものから作成したもの)を適切な変数に移動{}し、コードをクリーンアップしてキャッシュします。

コードをフォーマットするときに注意を払い、キャッシュや非グローバル変数などのベストプラクティスを使用することにした場合は、問題を読み、発見する方が合法的に簡単だと思います。これif(は当面の問題でしたが、全体としてのコードには注意と少しの愛情のこもった親切が必要でした。

于 2012-06-09T03:09:07.913 に答える