0

2つのウィンドウのサイズを同時に変更しようとしましたが、何らかの理由で機能しません。エラーをキャッチしようとしましたが、何もしませんでした。

注:サイズ変更をチェックするための高速な間隔がないため、jqueryのサイズ変更を使用したくありません

JAVASCRIPT:

function _u(e){
    try {
        e.parent('.boss').find('.first').width( e.width() ); //tried with parent('.boss').next('.first') or directy with prev('.first')
    } catch(err){alert(err);}
}

$(document).ready(function(){
    $(".data").each(function(){
        var resizerint;
        $(this).mousedown(function(){
            try {
                var eee = $(this);
                var resizerint = setInterval(function(){
                        try {
                            _u( eee );
                        } catch(err){alert(err);}
                    },10); // i need it 10ms
            } catch(err){alert(err);}

            $('.test').html('<font style="position:absolute;top:0;right:0;color:red;"> mouse DOWN </font>');
        }).mouseup(function(){
            try{
                clearInterval(resizerint);
                } catch(err){alert(err);}

            $('.test').html('<font style="position:absolute;top:0;right:0;color:green;"> mouse UP </font>');
        });
    });
});

およびHTML:

<div class="boss">
    <div class="first">
        <table>
            <tr>
                <td>
                    <div class="title">ONEEEEE</div>
                </td>
            </tr>
        </table>
    </div>
    <div class="second">
        <textarea class="data" > ONEEE TEXTY TESTY NJAMMM! </textarea>
    </div>
</div>

<div class="boss">
    <div class="first">
        <table>
            <tr>
                <td>
                    <div class="title">TWOOOOOO</div>
                </td>
            </tr>
        </table>
    </div>
    <div class="second">
        <textarea class="data" > TWOOO TEXTY TESTY NJAMMM! </textarea>
    </div>
</div>

<div class="text"></div>

あなたが提供できるどんな助けにも前もって感謝します。

JSFIDDLE(表示されている場合、TEXTAREAでマウスダウンしても青はサイズ変更されません) http://jsfiddle.net/2sfFW/

4

2 に答える 2

1

私の最初の答えは、「$」が欠落しているというものでしたが、問題は解決しませんでした。

ある程度は機能しましたが、初期化する前にまずテキストフィールドをクリックする必要があります。私はあなたの青いバージョンをビジュアライザーとして使用しました。

適切なjqueryトラバーサルは

 e.parent().parent('.boss').find('.first')

また

 e.parents('.boss').find('.first')

その上に2つの親divがあるため、複数形を使用する必要があります。parent()。parent()の使用はより具体的ですが、この場合はおそらく必要ありません。

http://jsfiddle.net/aQKVD/1/

mouseup / mousedownハンドラーを削除すると、代わりにdocument.readyで初期化されます。これはあなたが望むものかもしれないと思います。.each()は、問題の特定のdivに関連付けられた関数の個別のインスタンスを作成するため、他に必要がない限り、必ずしも変数のクリアを行う必要はありません。これがそのようなバージョンです:

http://jsfiddle.net/aQKVD/2/

于 2013-03-05T22:04:46.227 に答える
0

JSfiddleでは修正されませんが、初心者の場合は「$」を省略しています。他の人が試すことができるように、JSfiddleリンクを設定しました。http://jsfiddle.net/aQKVD/

function _u(e){
try {
    e.parent('.boss').find('.first').width( e.width() ); //tried with parent('.boss').next('.first') or directly with prev('.first')
    } catch(err){alert(err);}
}

$(document).ready(function(){
   (".data").each(function(){

最後の行は

   $(".data").each(function(){
于 2013-03-05T21:03:01.367 に答える