0

私のテーマには、ホームページにスライダーが付いていて、前と次の画像が上下に動き続けます。

再現方法:私のサイトのページに移動します。ヘッダーのロゴをクリックするとホームページに移動します。f5 を押します。これは、左右の渦があるはずの場所です。

テーマの作成者は応答しておらず、ヘルプのフォーラムもありません. これにどのような変更を加える必要があるか教えてください:

<script type="text/javascript">
stepcarousel.setup({
galleryid: 'mygallery', //id of carousel DIV
beltclass: 'belt', //class of inner "belt" DIV containing all the panel DIVs
panelclass: 'panel', //class of panel DIVs each holding content
panelbehavior: {speed:400, wraparound:true, persist:true},
defaultbuttons: {enable: true, moveby: 3, leftnav: ['<?php bloginfo('template_directory'); ?>/images/prev.png', -90, 120], rightnav: ['<?php bloginfo('template_directory'); ?>/images/next.png', 15, 120]},
statusvars: ['statusA', 'statusB', 'statusC'], //register 3 variables that contain current panel (start), current panel (last), and total panels
contenttype: ['external'] //content setting ['inline'] or ['external', 'path_to_external_file']
 })

</script>

cssで位置を修正できますか?

#mygallery{ padding:0;position: relative;}

.stepcarousel{
position: relative; /*leave this value alone*/
overflow: scroll; /*leave this value alone*/
width: 980px; /*Width of Carousel Viewer itself*/
height:300px; /*Height should enough to fit largest content's height*/
margin:0 auto;
padding:0;
}

.stepcarousel .belt{
position: absolute; /*leave this value alone*/
left: 0;
top: 0px;
}

 .stepcarousel .panel{
float: left; /*leave this value alone*/
overflow: hidden; /*clip content that go outside dimensions of holding panel DIV*/
margin:0 40px 0 0;
border:none;
  }


 .thumb-title{
top:-105px;
right:0;
display:block;
position:absolute;
width: 250px; height:68px;
background: #eee url(images/line-h-l.png) top repeat-x;
margin:0;
overflow:hidden;
text-shadow:0 1px 1px #333;
}   



 .thumb-title-clear{
padding:10px 20px 10px 20px;
height:48px;
overflow:hidden;
}

 .thumb-title h2 a {
display:block;
text-decoration: none;
font-size:16pt;
line-height:18pt;
height:50px;
overflow:hidden;
font-weight:bold;
}

 .thumb-title h2 a:hover { 
}



 .stepcarousel .slideimg{
 float: left; /*leave this value alone*/
 background: #000 /*clip content that go outside dimensions of holding panel DIV*/
 margin:0; /*margin around each panel*/
 padding:0;   
 width:300px;
 height:300px;
 overflow:hidden;
 border-radius:15px;
 -moz-border-radius:15px; /* Firefox 3.6 and earlier */
 }
4

1 に答える 1

0

OK、これが私が気づいたことです。私はあなたのページでこの問題を再現することができます:私がページをF5すると、すべてがうまく見えます。次にブラウザのサイズを変更すると、画像はすぐに間違った場所に移動します。ここhttp://bitsybride.com/wp-content/themes/basement/js/slider.js?ver=3.4.2で.jsファイルのコメントを調べ、 9行目でこれを見ました。

// ** 08年8月27日'-ウィンドウのサイズが変更された場合、ナビゲーションボタン(有効になっている場合)も再配置されるようになりました

.jsファイルを調べ始めたところ、101-105を削除すると次のことがわかりました。

$(window).bind("load, resize", function(){ //refresh position of nav buttons when page loads/resizes, in case offsets weren't available document.oncontentload
    config.offsets={left:stepcarousel.getoffset(config.$gallery.get(0), "offsetLeft"), top:stepcarousel.getoffset(config.$gallery.get(0), "offsetTop")}
    config.$leftnavbutton.css({left:config.offsets.left+config.defaultbuttons.leftnav[1]+'px', top:config.offsets.top+config.defaultbuttons.leftnav[2]+'px'})
    config.$rightnavbutton.css({left:config.offsets.left+config.$gallery.get(0).offsetWidth+config.defaultbuttons.rightnav[1]+'px', top:config.offsets.top+config.defaultbuttons.rightnav[2]+'px'})
})

左/右の渦巻きは、ロード時またはサイズ変更時に「ジャンプ」しなくなりました。コードをステップスルーすると、「offsetTop」がどこかで変更されていることがわかりました。

それで 。。。つまり、特定の「offsetTop」を含めるようにセットアップスクリプトを編集してみてください。コードのどこかで「推測」されていると思います。これは次のようになります。

stepcarousel.setup({
    galleryid: 'mygallery', //id of carousel DIV
    beltclass: 'belt', //class of inner "belt" DIV containing all the panel DIVs
    panelclass: 'panel', //class of panel DIVs each holding content
    panelbehavior: {speed:400, wraparound:true, persist:true},
    defaultbuttons: {offsetTop: 242, enable: true, leftnav: ['http://bitsybride.com/wp-content/themes/basement/images/prev.png', -90, 120], rightnav: ['http://bitsybride.com/wp-content/themes/basement/images/next.png', 15, 120]},
    statusvars: ['statusA', 'statusB', 'statusC'], //register 3 variables that contain current panel (start), current panel (last), and total panels
    contenttype: ['external'] //content setting ['inline'] or ['external', 'path_to_external_file']
})
于 2012-11-15T02:57:07.067 に答える