0

早速質問です。スタイルの左/右の値を別の座標 (マウスとしましょう) と比較したい場合、どうすればよいですか?

マウス座標なしで試したのは次のとおりですが、何らかの理由で条件が実行されません...

<style>
    #container
    {
        position:absolute;
        left:400px;
        top:200px;
    }
</style>

<script>
function moveExit(){    
    var containerId = document.getElementById("container").style;

    if(containerId.left == 400 + "px")
        containerId.left = 395 + "px";  
}
</script>

そして、ここに私の体があります:

<body>
    <div id="container">
    <img
    src="Images/image.jpg"
    onmouseover="moveExit();"
    />
    </div>
</body>

JavaScript をいじるのは初めてです。ありがとうございます。

4

3 に答える 3

6

この目的のために計算されたスタイルを使用する必要があります。

計算されたスタイルを取得するにはどうすればよいですか?

var left = window.getComputedStyle(document.getElementById("container")).left

IE8 では、計算されたスタイルがサポートされていないため、 currentStyle プロパティを使用する必要があります。

document.getElementById("container").currentStyle.left

Javascript を使用したクロスブラウザー (IE8-) getComputedStyle?

于 2013-07-30T20:28:52.890 に答える
0

あなたが達成しようとしていることを 100% 確信しているわけではありませんが、コードに関するいくつかのコメントと提案を以下に示します。

ユーザー javascript ではなく、 jQuery を使用します。これは、デビッドが以前に提案したものです。jQuery の大きな利点の 1 つは、ほとんどのブラウザーの非互換性の問題を回避できることです。

jQuery でこれを行うには、jquery をインポートする必要があり、次のように使用できます。

<script type="text/javascript" src="./jquery/jquery.js"></script>

<script type="text/javascript">
    function moveExit(){
        var $element = jQuery('#container');

        $element.css('left', '350px');
    }
</script>

また、スクリプト要素に「type」属性を追加したことにも注意してください。

補足として、「alt」属性を img 要素に追加することも忘れないでください。アクセシビリティと、何らかの理由で画像がブロックされた場合に適しています。

何を達成しようとしているのかをより深く理解することで、より良い答えを提供することができます。

于 2013-07-30T20:53:48.983 に答える