プロが教えるわが家の防犯対策術!

jQueryのRoundaboutで画像を挿入した際にIE6で表示テストしたのですが
IEでのみズレが生じてしまいます。ハックだったり試したのですが
解決に至りませんでした。どうぞよろしくお願いいたします。
これが問題のIE表示です。http://www.imagecheese.com/images/1zvz.jpg
こちらがFireFox表示の正しいほうです。http://www.imagecheese.com/images/2udu.jpg

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "​​http://www.w3.org/TR/html4/loose.dtd">​​
<HTML><head><title>web page title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="ja">
<style type="text/css">

/*CSS*/
--------------------------------------------------------
.roundabout-holder {
list-style: none;
width: 80%;
height: 20em;
margin: 1em auto;
}
.roundabout-moveable-item {
height: 15em;
width: 44.375em;
border: 1px dotted #999;
background-color:pink;
cursor: pointer;
}
.roundabout-moveable-item img {/*画像の大きさ*/
height: 15em;
width: 44.375em;
.roundabout-in-focus { cursor: auto; }

<body>------------------------------------------------------------------
<ul id="myRoundabout">
<li><img src="pic/block1.jpg"></li>
<li><img src="pic/block2.jpg"></li>
<li><img src="pic/block3.jpg"></li>
</ul>

<script type="text/javascript" src="common1/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="common1/js/jquery.roundabout-1.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('ul#myRoundabout').roundabout({
minOpacity: 0.3, // 後ろのメニューの透明度
minScale: 0.5 // 後ろのメニューの縮小率
});
});
</script>
</body>
</html>
--------------------------------------------------------------------------------------------

jquery roundabout
http://www.fredhq.com/projects/roundabout/

個人的にはCSSの問題かなぁと思っているのですがroundaboutの問題だったらと思ってこちらでも質問させていただきました。
画像は900px×300pxです。
本当に困ってます、よろしくおねがいします

A 回答 (3件)

IE(ver 6.0.29)でためしてみたところ再現しません。


ご提示の画面コピーは静止時の画面だと思いますが、静止時は画像の下側に3~4pxの背景(ピンク色)が見えるだけでしたが?
回転させると、移動している間は横幅もli要素のほうが大きくなって、ご提示の画面コピーのようになりますが…

以下は、配布元のサイトを見ての、対処的療法なので、根本解決になっていないかもしれませんが。 (roundaboutのコードは見ていません)

roundabout設定後に生成されるソースを見てみると、<img>タグと</li>タグの間に何かあるようです。(未確認 \rなどかも)
これが下側にはみ出ていると推測し、movable-itemにoverflow:hiddenを設定すると、静止時のはみ出しはなくなりましたが、移動時の要素サイズのずれは縦・横とも改善されないままでした。

移動中のHTMLソースを見てみても、img要素にはwidth、heightなどの設定はされていないみたい。liにはごっちゃりと指定がされている。(ソースだけなので、正確に確認したとは言えませんが…)
とりあえずの対処として、liでサイズ指定、imgは相対指定(100%)に変更したところうまくいきました。

ということで、以下のCSSでこちらのIEではOKです。
(画像は500px×150pxのものでテスト)
overflowの方はIEで時々指摘されているので、なんとなくわかりますが、imgサイズのほうはscriptの中身を追いかけてみないとわかりませんね。
ちゃんと原因を特定したわけではないので、よくわかってないけどご参考までに。
なお、ご質問文の「.roundabout-moveable-item img」が閉じ忘れているのはタイポですよね?

.roundabout-holder {
list-style: none;
width:80%;
height:20em;
margin: 1em auto;
}
.roundabout-moveable-item {
height: 15em;
width: 44.375em;
border: 1px dotted #999;
background-color:pink;
cursor: pointer;
overflow:hidden;
}
.roundabout-moveable-item img {/*画像の大きさ*/
/*
height: 15em;
width: 44.375em;
*/
height: 100%;
width: 100%;
}
.roundabout-in-focus { cursor: auto; }
    • good
    • 0

>No.1 補足



No.1はいい加減過ぎたかも知れません。忘れて下さい。

.roundabout-holder {
list-style: none;
width: 80%;
height: 20em;
margin: auto; /* 1em を削除*/
}
.roundabout-moveable-item {
height: 15em;
width: 44.375em;
border: 1px dotted #999;
background-color:pink;
cursor: pointer;
}

.img-class {/*クラスセレクタに*/
height: 15em;
width: 44.375em;
}
.roundabout-in-focus { cursor: auto; }

怪しそうなところを手探りでやってるだけで根本的なことは分かりません。
個人的には、ある程度のところで妥協するか、使用を諦め
他の手立てを模索することに時間を使った方が良いように思いますが。
    • good
    • 0

/*.css('width', factors.width.toFixed(2) + 'px')


.css('height', factors.height.toFixed(2) + 'px')*/

何となくwidth、heightに関する処理を外してみただけですが
ここをコメントアウトすると少しマシになりますね。
他への影響も考えられるので参考程度に。

jquery.roundabout-1.0.min.jsは終わり近く。
jquery.roundabout-1.0.jsなら目視で見付かります。

この回答への補足

javascriptが原因となるのでしょうか?
知識が浅いもので。。
なんかとか解決にいたりませんでしょうか?

補足日時:2010/01/27 01:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!