私はこのjQueryプラグインを持っています - Plax: https://github.com/cameronmcefee/plax
私はそれをレスポンシブにしたかったのですが、それは私が部分的に持っているものです: http://jsfiddle.net/4kRDL/
私の問題はhtml属性です:
<img src="/parallax/4.svg" data-xrange="20" data-yrange="10" id="plax-img4"/>
<img src="/parallax/3.svg" data-xrange="5" data-yrange="40" id="plax-img3"/>
問題は、data-xrange
とdata-yrange
が応答しないことです。ブラウザ ウィンドウを最小化すると、ウィンドウのサイズに関係なく、同じ x 範囲と y 範囲になります。最小化すると、範囲が広すぎます。
したがって、ウィンドウのサイズを変更するときにウィンドウのサイズを取得し、アルゴリズムで xrange と yrange を見つけ、jquery で属性を変更してから、plaxify を再初期化する必要があります。
私はこの疑似コードのようなものを考えていましたが、それを行う方法がわからないので動作します:
$('#my-element')
.attr('data-xrange', 'New Value')
.attr('data-yrange', 'New Value');
// You can dynamically redefine the range of a layer
// by running plaxify() on it again.
$('#my-element').plaxify();
$(window).resize(function(){
var w = $(window).width();
if(w > 320 && #my-element.is('New Value')) {
#my-element.removeAttr('data-xrange,data-yrange');
}
});