0

私はグラフィックデザイナーです。したがって、私のコード知識には、自分で行う必要があるものがほとんど含まれています。質問を投稿するのは初めてです。しかし、私は約5時間探してテストしてきましたが、私の限られた知識では何かが完全に欠けています. これは単純で、何かが欠けていると確信しています。私の開発サイトはこちらhttp://www.heybuddy.tv/temp/dev/005.html

私が抱えている問題は、ナビゲーションリンクにあります。デザインと写真の間でjqueryのトグルを行っていますが、アクティブなリンクを無効にする方法がわかりません。それが IF/ELSE タイプのステートメントなのか、JavaScript の onmouseover イベントなのかはわかりません。または、私の基本的なアプローチが完全に間違っていたとしても。見るべきサイトの例が見つからず、すべての Google 検索が私の検索用語で何もしてくれません。私は絶望的で欲求不満です。これが問題を示すための「ベスト プラクティス」でない場合は申し訳ありません。私は助けを求めるのが初めてです。

4

2 に答える 2

0

しかし、アクティブなリンクを無効にする方法がわかりません。

それがあなたの質問なら、あなたの場合、アクティブなアイテムクラスが写真無効またはデザイン無効に変更されていることがわかります。jQueryでは、次のことができます:

$(document).ready(function(){
    $('#navbar .nav-text a[class*="disabled"]').on('click', function(){
        return false;
    });
});
于 2013-10-26T07:40:05.667 に答える
0

もう少し具体的に説明していただけると助かりますが、私はいつでもグリーンホーンを助けたいと思っています。

jquery と javascript を使用してリンクを無効にする方法はたくさんあります。あなたがしようとしているのは、disabled 属性にアクセスすることです (たとえば、disabled='disabled'/disabled="true"/コードで無効になっているだけです)。

Jquery ソリューション

まず第一に、ユーザーがリンクをクリックしたときに何が起こるかを動的に変更したい場合は、JavaScript リンク、つまりクリックしたときに JavaScript 関数を呼び出すリンクを使用する必要があります。

<a id="myId" name="myName" href="javascript:void(0)" onClick="function()">BlahBlah</a>

次に、次を使用してページの読み込み時に何でも実行できます。コードでリンクをすぐに無効にするには、実行する必要があります。

$( document ).ready(function() { 
    //code and function calls go here
 });

それ以外の場合は、jquery または javascript を使用して DOM 要素 (ドキュメント要素) を単純に変更できます。

この方法を使用する理由については、これをお読みください

リンク属性は、次の形式のタグ (a、div; など) を使用して参照できます。('タグ').event(関数(){}); 特定のリンクにアクセスするには、ID を指定する必要があります。形式は ('#id').event(function(){}); になります。

次のコードのようなものを探しています。

$('a').click(function(){return false});

また、リンク リクエストのフィルタリングを検討している場合もあります。

$('a').click(function(){return ($(this).attr('disabled')) ? false : true;});

このコードでは、回転演算子 ((条件)?perform if true:else perform if false) と return ステートメントを使用して、クリック時にステータスを変更します。

クリックされたものを追跡できるようにリンクをリストに追加したい場合は、それが可能です。そうすれば、クリック後に無効にすると、無効になったものを追跡できます。次のコードは、特定のページ セクションを有効または無効にするために使用するために操作できますが、javaScript は常にインジェクションまたはスクレイピングに対してオープンです。その場合は、サーバー サイド スクリプトを使用することをお勧めします。これは主に、何が起こっているのかを理解するためです。

var disabled=[]
...
$('a').click(function(){
     var isSet=$(this).attr('disabled');

     if(isSet==false)
     {
       disabled.push(event.target.id);
     }

     return false;
});

ロード時に無効にするには、スクリプトに onload タグを追加するだけです。このタグは、コードの読みやすさとセキュリティのために .js ファイルにある必要があります。

詳細については、こちらを参照してくださいjQuery を使用してハイパーリンクを無効にする

JavaScript ソリューション

タグ名を使用して DOM (XML など) 上のすべてのリンクにアクセスし、disabled 属性を設定することで、リンクのステータスを変更できます。

var list=document.getElementsByTagName("a");

for(var i=0;i<list.length;i++)
{
   list[i].disabled='disabled';
}

このコードはすべてのリンクにアクセスし、for ループを使用して disable 属性を使用してリンクを無効にします。

特定のリンクを無効にしたい場合は、ID で要素にアクセスする以下を使用します。document.getElementById("id").disabled='無効';

すべてのリンクを有効にするには:

var links=document.getElementsByTagName("a");

for(var i=0;i<links.length;i++)
{
   links[i].removeAttribute("disabled");
}
于 2013-10-26T08:00:42.670 に答える