スマホでタップ時に画像差し替え
PC版でよく使うロールオーバー時に画像差し替えjsをスマホでのタップ版でつくってみる。
HTMLは共通でimg要素にbtnクラスを
<!-- html --> <a href="#"><img src="./image/btn.png" class="btn"></a>
JS側はhoverイベントだった箇所をtouchstartとtouchendに
// js
function touchImage(){
var preLoad = new Object();
$('img.btn').not("[src*='_on.']").each(function(){
var imgSrc = this.src;
var fType = imgSrc.substring(imgSrc.lastIndexOf('.'));
var imgName = imgSrc.substr(0, imgSrc.lastIndexOf('.'));
var imgOver = imgName + '_on' + fType;
preLoad[this.src] = new Image();
preLoad[this.src].src = imgOver;
$(this).bind('touchstart', function() {this.src = imgOver;});
$(this).bind('touchend', function() {this.src = imgSrc;});
});
}
$(document).ready(touchImage);
スマホなのであんま画像使わんかもしれんですが