2

CSS のように、疑似クラスなどを使用してこれを行う簡単な方法があるかもしれませんが、とにかく何らかの理由でこの関数を既に作成しています。

そのmouseup上で、画像を通常に戻す必要があります。.png(マウスダウンが切り替えられ、document.mouseupでは反対のことが行われることを除いて、画像の名前は同じであることに注意してくださいed.png。ただし、document.mouseupは機能していません)。

$.fn.buttonify = function () {
    console.log("buttonification successful");
    var that;
    var source;
    this.mousedown(function (event) {
        var top_value;
        var left_value;
        that = this;
        if (event.which == 1) { //if it is a left click
            source = this.src.substring(0, this.src.length - 4);
            source += "ed.png";
            this.src = source;
            console.log(this.src);
        }
    });

    $(document).mouseup(function () {
        if (that == null) {
            console.log("returninurnging");
            return;
        }
        console.log(source);
        source = source.substring(0, source.length - 6); //very questionable code
        source += ".png";
        that.src = source;
        console.log(that.src);
        that = null;
    });
}

クリック領域の外でマウスを持ち上げると、画像は変化しません。
それ以外の場合は機能します。:(

4

1 に答える 1

1

あなたが本当に欲しいものは何ですか?

<img src="image1.jpg" id="image">
<input type="button" value="whatever" onMouseDown="change()" onMouseUp="undochange()">

ジャバスクリプト

function change()
{
image = document.getElementById ("image");
image.src="image2.jpg";
}

function undochange()
{
image = document.getElementById ("image");
image.src="image1.jpg";
}
于 2013-12-01T13:19:26.757 に答える