0

私のサイト (私のサイトへのリンク) でjQuery Fisheye プラグイン (ここ) を使用しています。ご覧のように 9 つの「泡」があり、そのうちの 1 つにマウスを移動すると、それが拡大されます。

これらの「バブル」の 1 つをデフォルトとして最大サイズにすることは可能ですか?その場合、訪問者がページをロードすると、8 つの小さなバブルと 1 つの「最大サイズ」のバブルが表示されますか?

編集: 「大きな泡」効果のために新しいCSS「クラス」を追加しようとしました。ここでの問題は (上記のリンクでわかるように) 大きな泡が左側の小さな泡の上にあるように見えることです。

margin大きな泡のスタイルにとを追加しようとしpaddingましたが、役に立ちません。小さな泡はすべてfloat:right.

私のhtml/phpコード:

<script type="text/javascript">

    $(document).ready(
        function()
        {
            $('#dock2').Fisheye(
                {
                    maxWidth: 150,
                    items: 'a',
                    itemsText: 'span',
                    container: '.dock-container2',
                    itemWidth: 80,
                    proximity: 80,
                    halign : 'center',
                    valign : 'bottom'
                }
            )


            $('#auto_big').addClass('dock-item2-big');

            $('.dock-item2').mouseover(function() {
                $('#auto_big').removeClass('dock-item2-big');
            });
            $('.dock-item2').mouseout(function() {
                $('#auto_big').addClass('dock-item2-big');
            });


        }
    );

</script>
    <div class="dock2" id="dock2">
  <div class="dock-container2">
<?php $categories = $this->requestAction('categories/index/direction:asc/limit:9'); ?>
<?php foreach ($categories as $category): ?>

    <?php
        if($category['Category']['id'] == 27)
            $special = " id='auto_big'";
        else
            $special = "";
    ?>

  <a class="dock-item2" href="/categories/show/<?=$category['Category']['id'];?>"<?=$special?>><span><img src='/img/cat/<?=$category['Category']['id'];?>_title.png'></span><img src="/img/cat/<?php echo $category['Category']['picture']; ?>" alt="<?php echo $category['Category']['name']; ?>" /></a> 
 <?php endforeach; ?>
  </div> 
</div>

私のスタイル:

/* dock2 - bottom */
#dock2 {
    width: 100%;
    bottom: 0px;
    position: relative;
    left: 0px;
}
.dock-container2 {
    position: absolute;
    height: 50px;
    /*background: url(images/dock-bg.gif);*/
    /*padding-left: 20px;*/
}
a.dock-item2 {
    display: block; 
    font: bold 12px Arial, Helvetica, sans-serif;
    width: 40px; 
    color: #000; 
    bottom: 0px; 
    position: absolute;
    text-align: center;
    text-decoration: none;
}
.dock-item2 span {
    display: none;
    padding-left: 20px;
    font-size:20px;
    float:right;

}
.dock-item2 img {
    border: none; 
    margin: 5px 10px 0px; 
    width: 100%; 
}



a.dock-item2-big {
    display: block; 
    font: bold 12px Arial, Helvetica, sans-serif;
    width: 200px; 
    color: #000; 
    bottom: 0px; 
    position: absolute;
}
.dock-item2-big span {
    display:block;
    padding-left: 20px;
    font-size:20px;
    float:right;

}

.dock-item2-big img {
    border: none; 
    width: 220px;
}
4

1 に答える 1

0

マウスが近くにある(上ではない)ときにアイテムのサイズが変更され始めるので、マウスの位置に基づいていると言えます。JavaScriptでマウスカーソルを動かすことができないので、これをトリガーすることはできないと思います。

大きな要素のプロポーションを CSS で設定するなど、別の方法を見つける時間です。Firebug (または別のインスペクタ) を開いて要素を観察すると、マウスが近づくにつれて左と幅が変化することがわかります。いくつかの値を選択し、CSS 経由で設定します。

于 2012-02-24T17:10:13.967 に答える