次のコードがあります
html
<a href="#" class="button">button</a>
<div class="holder">
<img src="http://placehold.it/350x150" />
<div class="content">
<h3>hello there</h3>
<a href="#">view more</a>
<div/>
</div>
CSS
.holder {
margin-top: 130px;
position: relative;
}
img {
position: relative;
display: block;
transition: -webkit-transform 0.5s;
transition: -moz-transform 0.5s;
z-index: 10;
}
.content {
background: blue;
height: 100%;
color: white;
z-index: 1;
position: absolute;
top: auto;
bottom: 0;
}
a {
color: white;
background: red;
padding: 10px;
}
.holder:hover img {
-webkit-transform: translateX(90px);
-moz-transform: translateX(90px);
}
.button {
background: green;
position: absolute;
top: 10px;
}
JQuery
if (Modernizr.touch) {
alert("touch support");
}
else {
alert("no touch support");
$('.button').toggle(
function(){
$('img').css({
'-webkit-transform' : 'translateX(90px)',
'-moz-transform' : 'translateX(90px)'
});
},
function(){
$('img').css({
'-webkit-transform' : 'translateX(-90px)',
'-moz-transform' : 'translateX(-90px)'
});
});
}
モダナイザーを使用してタッチ デバイスを検出しています。このコードでは、ユーザーが画像に.content
カーソルを合わせるとクラスが明らかになり、ホバーはタッチデバイスではうまく機能しないため、タッチデバイス用のjqueryで複製しようとしています.(jqueryコードを確認するために、動作するコードを書きました非タッチデバイスで)
私の質問は、1)このコードは正しいですか、2)クリックで画像の位置を変更するようにjqueryコードが書かれています。その代わりに、ボタンが消えます。
これは私が純粋なcssで行ったことです-> jsfiddle-css
これは、動作しないjqueryで複製しようとしているものです-> jqueryでjsfiddle