[解決済み] ブロックレベルのリンクをカバーするPタグの内容に関する問題
質問
私はjuliendecaudinのbarouselプラグインから適応したこのj-queryスライダーで狂っている
jsfiddleに全部載せました。
4つのナビゲーションブロックは、jqueryのコードによって作成されています(これがこの問題の理由です)。そこで、各ブロックの上にテキストが必要だったため、コードにいくつかのpタグを追加し、各ブロックの上に配置しました。これにより、リンクが覆われ、その結果、ホバー効果が停止しました。
私の持っている限られたjqueryの知識でうまくいくと思ったことを複数試しましたが(例えば、pタグにカーソルを合わせたときに、適切な幅と高さで関連する背景画像を表示する、など)、どれもうまくいきませんでした!このような場合、pタグの上にカーソルを置くと、背景画像が表示されます。
知りたいのは、ナビゲーションブロックのようにテキストをリンクとして動作させる方法ですが、同時に、テキストにカーソルを置いたときに背景画像もホバーするようにすることです。また、この2つを融合させる方法があれば最高です。
pタグを追加したhtml部分はこちらです(jqueryのコードは自動的にhtmlのul li要素を作成します。
<div class="barousel_nav">
<p class="abs abs1">Value Proposition Development</p>
<p class="abs abs2">Sales Engagement</p>
<p class="abs abs3">Customer Communications</p>
<p class="abs abs4">Insight-driven Lead Generation Campaigns</p>
</div>
もし、nav ul li のリンクをそれぞれ指定できれば、回避策を講じることができるのですが、現状ではそれぞれのliには何も指定がありません!
どうすればいいですか?
いくつかのビットを変更することで、期待通りに動作させることができます。
において
jquery.barousel.js
ファイルで、次のスニペットを探してください。
//build the navigation
if (settings.navType == 1) {
//items navigation type
var strNavList = "<ul>";
そして、それを変更するために
class
(navigationMenu)を
ul
:
//build the navigation
if (settings.navType == 1) {
//items navigation type
var strNavList = "<ul class='navigationMenu'>";
ページヘッダーで、すべてのライブラリを読み込んだ後、以下のスニペットを追加します。
<script type="text/javascript">
$(function () {
// Look for all the spans which contains the class abs, and move them
// to the li accordingly.
$("span.abs").each(function (index, element) {
var target = $("ul.navigationMenu li")[index];
$(this).appendTo($(target).find("a"));
});
});
</script>
未使用のルールを削除して、CSSを変更します。
.barousel {
height:408px;
margin-bottom:85px;
position:relative;
width:750px;
}
.barousel_wrap {
float:right;
height:408px;
width:650px;
}
.barousel_image {
background-image:url(http://oliverbanham.com/quantumSite/images/SLIDER/images/bgGrayGradient.jpg);
background-position:initial initial;
background-repeat:repeat no-repeat;
height:306px;
padding-left:10px;
width:660px;
}
.barousel_image img {
display:none;
position:absolute;
}
.barousel_image img.default {
display:block;
}
.barousel_image img.current {
z-index:10;
}
.barousel_content {
background-color:#6D4682;
background-image:url(http://oliverbanham.com/quantumSite/images/SLIDER/images/largegrad_05.jpg);
background-position:initial initial;
background-repeat:repeat no-repeat;
display:block;
height:auto;
margin:0;
padding:5px 10px 0;
width:650px;
}
.barousel_content div {
display:none;
margin-bottom:7px;
width:650px;
}
.barousel_content div.default {
display:block;
height:auto;
padding-bottom:7px !important;
}
.barousel_content p {
color:white;
font-size:12px;
font-weight:normal;
line-height:16px;
margin-bottom:8px !important;
top:0;
z-index:50;
}
.barousel_content p.sliderH {
font-weight:bold;
margin-bottom:5px;
}
.barousel_nav {
float:left;
height:408px;
width:100px;
z-index:20;
}
/*.barousel_nav p.abs {
cursor:pointer;
display:inline-block;
font-size:11px;
left:5px;
margin:0 auto;
position:absolute;
text-align:center;
width:90px;
}
.barousel_nav p.abs1 {
top:35px;
}
.barousel_nav p.abs2 {
top:135px;
}
.barousel_nav p.abs3 {
bottom:140px;
}
.barousel_nav p.abs4 {
bottom:25px;
left:5px;
}*/
.barousel_nav ul {
float:right;
margin:0;
padding:0;
}
.barousel_nav li {
float:left;
/*font-size:0;
line-height:0;*/
list-style:none;
padding-left:3px;
}
.barousel_nav li a {
background-image:url(http://oliverbanham.com/quantumSite/images/SLIDER/images/BTN_01.jpg);
display:block;
/*font-size:0;*/
height:102px;
/*line-height:0;*/
text-decoration:none;
width:100px;
}
.barousel_nav li a:hover {
background-image:url(http://oliverbanham.com/quantumSite/images/SLIDER/images/current_BTN_01.jpg);
}
.barousel_nav li a.current {
background-image:url(http://oliverbanham.com/quantumSite/images/SLIDER/images/current_BTN_01.jpg);
}
そして最後に、HTMLを少し変更します。
<span class="abs">Value Proposition Development</span>
<span class="abs">Sales Engagement</span>
<span class="abs">Customer Communications</span>
<span class="abs">Insight-driven Lead Generation Campaigns</span>
動作デモです。 http://jsfiddle.net/psFMs/2/
もちろん、CSSをいじって見栄えを良くすることもありますが、肝心なのはここです。
関連
-
[解決済み】jQueryのセレクタにワイルドカードを使用した場合
-
[解決済み] カルーセルで画像を中央に配置する方法
-
[解決済み] jQueryでPUT/DELETEリクエストを送信する方法は?
-
[解決済み] jQueryでページスクロールをプログラム的に無効にする方法
-
[解決済み] jQuery On Clickが動作しない
-
[解決済み] Vimeoのコントロールを非表示にする方法
-
[解決済み] BootstrapがUncaught Errorを投げる:BootstrapのJavaScriptはjQueryを必要とする【終了】。
-
[解決済み] jQueryで背景画像をアニメーションで変化させる
-
[解決済み] Contact Form 7 のフォームで AJAX を有効にする(AJAX ロード後)。
-
[解決済み] jquery form が期待通りに動作しない。ajaxForm が関数でない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「Missing required request header」を修正する方法。origin,x-requested-withのいずれかを指定する必要があります' Ajax Error
-
[解決済み] jqueryで日付を比較する
-
[解決済み] jQueryがfadeOutで動作しない
-
[解決済み] jqueryでドロップダウンボックスを有効化/無効化する
-
[解決済み] なぜbloodhound.get()は未定義を返すのですか?
-
[解決済み] JQuery Fancyboxが動作しない
-
[解決済み] jQuery slidetoggleが動作しない?[クローズド]
-
[解決済み] jqueryでアンカークリックをシミュレートするにはどうしたらいいですか?
-
[解決済み] jQueryセレクタの直下型(>)と子孫型の違いは何ですか?
-
[解決済み] jQueryの再帰性が高すぎる