2016-04-13 11 views
0

は私が... thisあなたがそれらにカーソルを合わせると変化する画像のフルページのグリッドに似ているポートフォリオのウェブサイトを作成する(another example, the third screen!インタラクティブな要素のグリッドを作成するには?

をしようとしている。現在、私は見え粗溶液を持っています以下のような:

<img src="1.png" id="img" swap="2.png"/> 

// then in JS... 

$("#img").hover(function(){ 
    var _this = $(this); 
    var current = _this.attr("src"); 
    var swap = _this.attr("swap"); 
    _this.attr('src',swap).attr('swap',current); 
}); // 

code credit

しかし、これは非常にスケーラブルソリューションと1000枚の画像、srcは切り替えることができるように識別され、独自のユニークなIDを持つそれぞれを持つ以外にはありませんが、私はないんだけど何をすべきか - と私はこれがどのように異なった表示サイズ/スクリーンカットオフに反応するのかわかりません。 CSSのタイルの背景画像はうまくいきますが、対話性は許されません... JSスクリプトのカーソル位置(?)を持っていない場合は

!!これは私の最初のプロジェクトです。何か助けていただければ幸いです:)(教室は非常に保護された学習環境です。)

+0

「別の例」に行ったとき、私の仮想マシンはちょっと死んでしまった。想像上のRAMの私の厄介な6GBのためにあまりにも多くそこに行っているように見えます。要するに、「これ」は、遅いデバイスや、半限定的なリソースを持つデバイスでは、うまく動作しません。 –

+0

CSSでこれをやったのであれば、違うのはどうですか? –

答えて

0

idsを使用せずにすべての画像に対してハンドラを作成する必要はありません。

$("img").hover(function(){ 
    var _this = $(this); 
    var current = _this.attr("src"); 
    var swap = _this.attr("swap"); 
    _this.attr('src',swap).attr('swap',current); 
}); 

と、これは、すべての画像にページがロードされた後に追加しても画像に反応します:画面を説明するために

$(document).on('hover', 'img', function() { 
    var _this = $(this); 
    var current = _this.attr("src"); 
    var swap = _this.attr("swap"); 
    _this.attr('src',swap).attr('swap',current); 
}); 

これは、現在のページ上のすべての画像に適用されますサイズやその他の問題がある場合は、画像に一定の幅と高さを設定するか、すべての画像の解像度が同じであることを確認する必要があります。

divのグリッドを作成し、上記のハンドラと同様に、ホバー上のdivの背景を変更することで、これをバックグラウンドで行うこともできます。

+0

回答ありがとうございました。私は実際に最初の解決策を実装しました。固定幅/高さに関しては、それはemsですか?どのようにしてHTMLを継承したCSSなのか、エンドツーエンドの画面を満たす方法を教えてください。また...最初の例では、色のついた四角形の動きがズーム/ズームアウト時に位置を変えます。 xDありがとう! – user61871

+0

質問が回答されているので、私の答えを正しいものとして選ぶことができれば素晴らしいだろう!あなたの他の質問については、そこにはそれぞれに多くの解決策があります。 widthはpx(ピクセル)、em(フォントサイズに相対)、%を指定できます。あなたは、画面を埋めるための画像ではない 'フィラー'ブロックを提供するためにjavascriptを使用することができます。メディアクエリを使用して、さまざまな画面解像度をターゲットにすることができます。ズームを無効にする方法があります。私はコメントの詳細を記入する余地がない多くの答え。それはすべてウェブ開発者の一員です。学ぶたくさん! –

関連する問題