質問のタイトルがわかりにくかったらお詫びしたいので、ここで例を挙げて説明します。
メニューを作成しようとしているこのウェブサイトhttp://color.ninski.roがあります。
このメニューには次の 2 つが必要です。
- 要素をクリックすると、その位置が最初の要素の位置に切り替わります (この問題は、この Web サイトのユーザーである Khawer Zeshan のおかげで解決されました)。
- 要素が最初になった後、残りの要素をプッシュせずに幅と高さを増やす必要があるため、「隠しテキスト」を表示できますが、別の要素をクリックすると、最初の要素と位置が切り替わり、元の CSS に戻ります。
これはメニューリストです:
<ul class="unstyled" id="java">
<li id="b1"><div><a href="">Picturi Interior</a></div></li>
<li id="b2"><div><a href="">Modele Propuse</a></div></li>
<li id="b3"><div><a href="">Design Interior</a></div></li>
<li id="b4"><div><a href="">Web Design</a></div></li>
<li id="b5"><div><a href="">Obiecte Decorative</a></div></li>
</ul>
これは、役立つ場合の切り替えスクリプトです。
$.fn.exchangePositionWith = function(selector) {
var other = $(selector);
this.after(other.clone());
other.after(this).remove();
};
$(document.body).on('click', 'ul#java li' ,function(){
var pos = $(this).closest('li').index();
$("ul#java li:eq("+pos+")").exchangePositionWith("ul#java li:eq(0)");
});
リストの元の CSS は次のとおりです。
#java li{
display:inline-block;
width:149px;
height:67px;
margin-left:13px;
padding-top:40px;
text-align:center;
}
私の質問や説明が不十分だと思われる場合は、お気軽にお問い合わせください。