〜私はこれにしばらく取り組んできました(何ヶ月も!!)-jqueryを使用して画像マップをズームおよびパンします-これは私の現在のスキルレベルから少し外れているので、ここまで到達したことに興奮しています!!〜しかし、機能は必要なほどスムーズではありません(ズームインとズームアウトはスムーズである必要があります)-IE7で表示すると、いくつかの大きな問題があります。
ここにそれはウェブページにあります:http ://www.agencydr.squarespace.com/locations
以下は使用されるjqueryです。誰かが私が変更すべきことに気づいていますか?
/* ************************************** */
/* locations map */
/* ************************************** */
$('#modulePage6955407 #sectionContent3019160').insertAfter("#pageHeaderWrapper");
$('#modulePage6955407 #bannerAreaWrapper').animate({"top": "+=250px"}, "slow");
$('#modulePage6955407 #sectionContent3019160').animate({"height": "290px"}, "slow");
$('#modulePage6955407 #sectionContent3019160').animate({"opacity": "1"}, "slow");
$('#LocationsMapWrapper').hover(function() {
$('#LocationsMapWrapper #MapImage').animate({
width: 600,
height: 375,
marginLeft: 550,
marginTop: -20
}, "slow", "easeOutQuad");
},
function() {
$('#LocationsMapWrapper #MapImage').animate({
width: 478,
height: 265,
marginLeft: 480,
marginTop: 0
}, "slow", "easeOutQuad");
}).mousemove(function(e){
$("#LocationsMapWrapper #MapImage").each(function(){
var position = $(this).offset();
var position_x = position.left;
var position_y = position.top;
position_x = 0;
position_y = 0;
var windowwidth = ($(window).width()/2);
var windowheight = ($("#LocationsMapWrapper").height()/2);
var endX = (windowwidth)-(e.pageX);
var endY = (windowheight)-(e.pageY);
var speed = 5;
position_x += (endX-position_x)/speed;
position_y += (endY-position_y)/speed;
$(this).css({'position': 'relative'});
$(this).css({'left':position_x});
$(this).css({'top':position_y});
});
}).mouseleave(function(){
$("#LocationsMapWrapper #MapImage").each(function(){
$(this).css({'left':0});
$(this).css({'top':0});
});
});
そしてここにいくつかの関連するCSSがあります:
/* locations map */
#sectionContent3019160 { width: 100%; height: 0px; margin: auto; opacity: 0.15; margin-bottom: 10px; z-index: 1; overflow: hidden; }
#sectionContent3019160 { margin-top: -48px; } /* up */
#LocationsMapWrapper { width: 1020px; height: 355px; margin: auto; }
#LocationsMapWrapper #MapImage { width: 478px; height: 265px; margin-left: 480px; }
どんな助けでも大歓迎です!! 私はこれをよりスムーズに実行するために考えられるすべてのことを試みましたが、途方に暮れています。ホストされたCMSサービスを使用しているため、ある程度確立されたhtmlレイアウトを変更する必要があることに注意してください。
更新: 現時点で更新されたコードは次のとおりです。
$('#LocationsMapWrapper').hover(function() {
$('#LocationsMapWrapper #MapImage').stop().animate({
width: 600,
height: 375,
marginLeft: 550,
marginTop: -20
}, "slow", "easeOutQuad").mousemove(function(e){
var position = $(this).offset();
var position_x = position.left;
var position_y = position.top;
position_x = 0;
position_y = 0;
var windowwidth = ($(window).width()/2);
var windowheight = ($("#LocationsMapWrapper").height()/2);
var endX = (windowwidth)-(e.pageX);
var endY = (windowheight)-(e.pageY);
var speed = 5;
position_x += (endX-position_x)/speed;
position_y += (endY-position_y)/speed;
$(this).css({'position': 'relative'});
$(this).css({'left':position_x});
$(this).css({'top':position_y});
});
}, function() {
$('#LocationsMapWrapper #MapImage').stop().animate({
width: 478,
height: 290,
marginLeft: 480,
marginTop: 0,
left: 0,
top: 0
}, "slow", "easeOutQuad");
});