Nori
1
いつもお世話になっております。
Noriと申します。
Nice-Tempoを使用してウェブサイト制作をしているのですが、
ブログ内のリンクの挙動がおかしく困っております。
ブログ記事内でURLをハイパーリンクで設置すること自体は出来るのですが、
設置したURLを実際の記事ページでクリックすると、そのURLに飛ばずに、画像を出すときのようなポップアップ画面になります。(画像ファイルはないので、もちろん画像は出ません。)
画像ファイルはポップアップで良いのですが、リンクはリンクとして作動して欲しいです。
どなたか修正点をご教示頂ければ幸いです。
よろしくお願いいたします。
ご参考までに、問題の症状が出ているページのリンクを張らせていただきます。
https://lifeblood.jp/news/archives/6
よろしくお願いいたします。
■ BaserCMSのバージョン:baserCMS 4.0.9
■ レンタルサーバー名:Lolipop
■ スマートURLの利用: [ON]
■ 設置フォルダ: [ドキュメントルート]
■ 利用しているデータベース: [MySQL]
■ PHPスキル(自己評価): [ C ]
GUSSAN
2
「いいね!」 1
Nori
3
GUSSAN様
ご返答ありがとうございます。
ご提示いただきました内容確認させていただきましたが、
class=“nopopup” を追記しても反応は変わりませんでした…
https://lifeblood.jp/news/archives/4
こちらでご確認いただければ幸いです。
自分なりにも調べたのですが、
default.php内で magnfic-popupの設定内容に
.post-body a, #post-detail a
を指定している箇所があるので、
そこが原因かと推察しております。
ここを外すと画像リンクも適応から外れてしまうので、
画像系の物にclassを指定するなどして、
.post-body a.image-link , #post-detail a.image-link
などにしたらどうなのかな?
と考えています。が、画像に自動でclassを付与する設定がわかりません…
根本的な考え方含め、間違いあればご指摘いただければ幸いです。
よろしくお願いいたします。
GUSSAN
4
ソースを拝見したところ、そもそもリンク除外のセレクターの記述が見当たらないように思います。
別の場所に記述があるのでしょうか?
とりあえず、以下のサイトなどを参考に「delegate: ‘a:not(.nopopup)’,」を指定したスクリプトを加えてみてはいかがでしょうか?
その上で、HTML側のaタグには「nopopup」のクラス指定をすれば、おそらくご希望のような挙動になるように思います。
特定のリンクを除外
GUSSAN
5
こんな感じでしょうか?動かなかったらすいません。。。
<script>
$(function() {
//magnific-popup
$(".popup, .eyeCatch a, .post-body a, #post-detail a").magnificPopup({
type: 'image',
mainClass: 'mfp-with-zoom',
removalDelay: 160,
preloader: false,
fixedContentPos: false,
gallery: {
enabled: true
}
});
$(".popup, .eyeCatch, .post-body, #post-detail").magnificPopup({
delegate: 'a:not(.nopopup)',
type: 'image'
});
});
</script>
「いいね!」 1
Nori
6
GUSSAN様
ご返答ありがとうございます。
知識が浅く、そもそもの設定が出来ていなかったとのこと、お恥ずかしい限りです。
頂いたコードに一部修正を加え、以下のようにしたら出来ました!
ありがとうございました!
<script>
$(function() {
//magnific-popup
$(".popup, .eyeCatch a, .post-body a, #post-detail a").magnificPopup({
type: 'image',
mainClass: 'mfp-with-zoom',
removalDelay: 160,
preloader: false,
fixedContentPos: false,
gallery: {
enabled: true
}
});
$(".popup, .eyeCatch a, .post-body a, #post-detail a").magnificPopup({
delegate: 'a:not(.nopopup)',
type: 'image'
});
});
</script>
「いいね!」 2
なるほど、私も同じ現象で悩んでいましたが、確かにこのスクリプトでうまくいきますね。
今回はブログの本文のソースに書いたのですが、どこに書くのが正解なのだろうか?