0

私のサイトでは、jqueryを使用しているコンテンツのスライドショーを紹介しています。したがって、ユーザーが矢印をクリックすると、次のdiv(デフォルトでは非表示)が表示されます。各div内には、(表示されているかどうかに関係なく)ユーザーが見ているコンテンツのタイトルとコンテンツの概要を含む非表示のスパンタグがあります...

    <div id="content" style="display:block">
      <h2>Relevance of Oceanography</h2>
      <p>Some text</p>
      <span class="hiddentitle" style="display:none">Relevance of Oceanography</span>
      <span class="hiddencontent" style="display:none">Some content</span>
    </div>

    <div id="content" style="display:none">
      <h2>Seafloor Spreading and Earthquake Activity</h2>
      <p>Some text</p>
      <span class="hiddentitle" style="display:none">Seafloor Spreading and Earthquake Activity</span>
      <span class="hiddencontent" style="display:none">Some content</span>
    </div>

私がやろうとしているのは、現在表示されているdivのhiddencontentに基づいてタグを置き換えるか更新することです。データベースに保存されているので、phpだけでもいいと思っていたのですが、毎回ページをリロードしなければならないのではないかと思いました。次に、jqueryを使用すると、ページの読み込み後にメタコンテンツが変更されるため、検索エンジンが実際にメタコンテンツを表示しないことが心配です...

私がここでやろうとしていることをする方法はありますか、それとも私はただSOLですか?

4

3 に答える 3

1

スパンタグはすでに非表示のdiv要素内にあるため、非表示にする必要はありません。

スパイダリング、さらには使いやすさの観点から、直接画像へのパーマリンクを含むインデックスを作成することをお勧めします。そうすれば、スライドショーで何をしたいのかを心配する必要がなく、ユーザーは特定の画像にリンクできます。

これを行うには2つの方法があります。1つはJavaScriptを使用してdivの可視性を変更することです。これは非常に単純で、要素のstyle.display属性を変更するだけです。

この方法には、 LightboxJSなどの既成のjQueryソリューションがたくさんあります。それらの集約リストは次のとおりです。

http://bradblogging.com/jquery/9-jquery-slideshow-applications-you-cannot-miss/

もう1つは、マークアップを取得するためにAJAX呼び出しを行うことです。これにより初期負荷が制限されますが、画像の切り替えが遅くなる可能性があります。

于 2009-12-13T20:23:53.467 に答える
0

スライドショー中に変更されたものは、検索エンジンにはほとんど表示されません。スライドショーの個々のページへのディープリンクを含むGoogleサイトマップを作成することを検討してください。jQueryを使用してスライドショーを実行することもできますが、クエリ文字列のパラメーターを使用して、任意の時点でスライドショーを開始する方法を提供するだけです。

于 2009-12-13T20:21:45.873 に答える
0

jQueryでスパイスを加える前に、JavaScriptを使用せずにインターフェースを実装することをお勧めします。そうすれば、javascript(f.ex searchbots)なしでサイトを閲覧する人のためのサーバー側ロジックがまだあります。

クリックイベントを使用し、デフォルトのアクションを防止することで、次の段階でjQueryまたはネイティブJavaScriptを使用してプレゼンテーションインターフェイスレイヤーをシームレスに適用できます。Ajaxを使用してサーバー側のロジックを再利用できる場合があります。

于 2009-12-13T20:32:26.050 に答える