برنامه نویسی

نمایش یا پنهان کردن یک Div بر اساس انتخاب گزینه در جاوا اسکریپت

با استفاده از display اموال

را display ویژگی تعیین می کند که آیا یک عنصر در صفحه نمایش داده می شود یا خیر. وقتی روی none، عنصر از جریان سند حذف می شود و فضایی را اشغال نمی کند.

مثال

HTML


 lang="en">

   charset="UTF-8">
  </span>Show Div Using Display<span class="nt"/>
  <span class="nt"/>
    <span class="nf">#box</span> <span class="p">{</span>
      <span class="nl">display</span><span class="p">:</span> <span class="nb">none</span><span class="p">;</span>
      <span class="nl">background-color</span><span class="p">:</span> <span class="no">salmon</span><span class="p">;</span>
      <span class="nl">color</span><span class="p">:</span> <span class="no">white</span><span class="p">;</span>
      <span class="nl">width</span><span class="p">:</span> <span class="m">100px</span><span class="p">;</span>
      <span class="nl">height</span><span class="p">:</span> <span class="m">100px</span><span class="p">;</span>
      <span class="nl">text-align</span><span class="p">:</span> <span class="nb">center</span><span class="p">;</span>
      <span class="nl">line-height</span><span class="p">:</span> <span class="m">100px</span><span class="p">;</span>
    <span class="p">}</span>
  <span class="nt"/>
<span class="nt"/>
<span class="nt"/>
  <span class="nt"><label> <span class="na">for=</span><span class="s">"select"</span><span class="nt">></span>Choose an Option:<span class="nt"/></label></span>
  <span class="nt"><select> <span class="na">name=</span><span class="s">"select"</span> <span class="na">id=</span><span class="s">"select"</span><span class="nt">></span>
    <span class="nt"><option> <span class="na">value=</span><span class="s">"hide"</span><span class="nt">></span>Hide<span class="nt"/></option></span>
    <span class="nt"><option> <span class="na">value=</span><span class="s">"show"</span><span class="nt">></span>Show<span class="nt"/></option></span>
  <span class="nt"/></select></span>

  <span class="nt"><p> <span class="na">id=</span><span class="s">"box"</span><span class="nt">></span>Box Content<span class="nt"/></p></span>

  <span class="nt"><script/></span>
    <span class="kd">const</span> <span class="nx">dropdown</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nf">getElementById</span><span class="p">(</span><span class="dl">'</span><span class="s1">select</span><span class="dl">'</span><span class="p">);</span>
    <span class="kd">const</span> <span class="nx">box</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nf">getElementById</span><span class="p">(</span><span class="dl">'</span><span class="s1">box</span><span class="dl">'</span><span class="p">);</span>

    <span class="nx">dropdown</span><span class="p">.</span><span class="nf">addEventListener</span><span class="p">(</span><span class="dl">'</span><span class="s1">change</span><span class="dl">'</span><span class="p">,</span> <span class="nf">function </span><span class="p">(</span><span class="nx">event</span><span class="p">)</span> <span class="p">{</span>
      <span class="k">if </span><span class="p">(</span><span class="nx">event</span><span class="p">.</span><span class="nx">target</span><span class="p">.</span><span class="nx">value</span> <span class="o">===</span> <span class="dl">'</span><span class="s1">show</span><span class="dl">'</span><span class="p">)</span> <span class="p">{</span>
        <span class="nx">box</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">display</span> <span class="o">=</span> <span class="dl">'</span><span class="s1">block</span><span class="dl">'</span><span class="p">;</span>
      <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
        <span class="nx">box</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">display</span> <span class="o">=</span> <span class="dl">'</span><span class="s1">none</span><span class="dl">'</span><span class="p">;</span>
      <span class="p">}</span>
    <span class="p">});</span>
  <span class="nt"/>
<span class="nt"/>
<span class="nt"/>
</span></span></code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>وارد حالت تمام صفحه شوید
    

از حالت تمام صفحه خارج شوید

توضیح:

  • در ابتدا، div عنصر با id="box" خود را دارد display ویژگی تنظیم شده به none.
  • را change رویداد شنونده مقدار انتخاب شده از منوی کشویی را بررسی می کند.
  • اگر مقدار باشد show، div's display دارایی تنظیم شده است block، آن را قابل مشاهده می کند.
  • اگر مقدار باشد hide، div دوباره پنهان شده است

با استفاده از visibility اموال

را visibility ویژگی مشخص می کند که یک عنصر قابل مشاهده یا پنهان است، اما در جریان سند باقی می ماند و همچنان فضا را اشغال می کند.

مثال

HTML


 lang="en">

   charset="UTF-8">
  </span>Show Div Using Visibility<span class="nt"/>
  <span class="nt"/>
    <span class="nf">#box</span> <span class="p">{</span>
      <span class="nl">visibility</span><span class="p">:</span> <span class="nb">hidden</span><span class="p">;</span>
      <span class="nl">background-color</span><span class="p">:</span> <span class="no">salmon</span><span class="p">;</span>
      <span class="nl">color</span><span class="p">:</span> <span class="no">white</span><span class="p">;</span>
      <span class="nl">width</span><span class="p">:</span> <span class="m">100px</span><span class="p">;</span>
      <span class="nl">height</span><span class="p">:</span> <span class="m">100px</span><span class="p">;</span>
      <span class="nl">text-align</span><span class="p">:</span> <span class="nb">center</span><span class="p">;</span>
      <span class="nl">line-height</span><span class="p">:</span> <span class="m">100px</span><span class="p">;</span>
    <span class="p">}</span>
  <span class="nt"/>
<span class="nt"/>
<span class="nt"/>
  <span class="nt"><label> <span class="na">for=</span><span class="s">"select"</span><span class="nt">></span>Choose an Option:<span class="nt"/></label></span>
  <span class="nt"><select> <span class="na">name=</span><span class="s">"select"</span> <span class="na">id=</span><span class="s">"select"</span><span class="nt">></span>
    <span class="nt"><option> <span class="na">value=</span><span class="s">"hide"</span><span class="nt">></span>Hide<span class="nt"/></option></span>
    <span class="nt"><option> <span class="na">value=</span><span class="s">"show"</span><span class="nt">></span>Show<span class="nt"/></option></span>
  <span class="nt"/></select></span>

  <span class="nt"><p> <span class="na">id=</span><span class="s">"box"</span><span class="nt">></span>Box Content<span class="nt"/></p></span>

  <span class="nt"><script/></span>
    <span class="kd">const</span> <span class="nx">dropdown</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nf">getElementById</span><span class="p">(</span><span class="dl">'</span><span class="s1">select</span><span class="dl">'</span><span class="p">);</span>
    <span class="kd">const</span> <span class="nx">box</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nf">getElementById</span><span class="p">(</span><span class="dl">'</span><span class="s1">box</span><span class="dl">'</span><span class="p">);</span>

    <span class="nx">dropdown</span><span class="p">.</span><span class="nf">addEventListener</span><span class="p">(</span><span class="dl">'</span><span class="s1">change</span><span class="dl">'</span><span class="p">,</span> <span class="nf">function </span><span class="p">(</span><span class="nx">event</span><span class="p">)</span> <span class="p">{</span>
      <span class="k">if </span><span class="p">(</span><span class="nx">event</span><span class="p">.</span><span class="nx">target</span><span class="p">.</span><span class="nx">value</span> <span class="o">===</span> <span class="dl">'</span><span class="s1">show</span><span class="dl">'</span><span class="p">)</span> <span class="p">{</span>
        <span class="nx">box</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">visibility</span> <span class="o">=</span> <span class="dl">'</span><span class="s1">visible</span><span class="dl">'</span><span class="p">;</span>
      <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
        <span class="nx">box</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">visibility</span> <span class="o">=</span> <span class="dl">'</span><span class="s1">hidden</span><span class="dl">'</span><span class="p">;</span>
      <span class="p">}</span>
    <span class="p">});</span>
  <span class="nt"/>
<span class="nt"/>
<span class="nt"/>
</span></span></code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>وارد حالت تمام صفحه شوید
    

از حالت تمام صفحه خارج شوید

توضیح:

  • در ابتدا، div عنصر با id="box" خود را دارد visibility ویژگی تنظیم شده به hidden.
  • را change رویداد شنونده مقدار انتخاب شده از منوی کشویی را بررسی می کند.
  • اگر مقدار باشد show، div's visibility دارایی تنظیم شده است visible.
  • اگر مقدار باشد hide، div نامرئی می شود اما همچنان فضایی را در طرح اشغال می کند.

تفاوت های کلیدی بین display و visibility

اموال اثر وقتی پنهان است بر روی چیدمان تاثیر می گذارد
display عنصر حذف می شود بله
visibility عنصر نامرئی است خیر

نتیجه گیری

انتخاب بین display و visibility بستگی به مورد استفاده خاص شما دارد:

  • استفاده کنید display زمانی که می خواهید عنصر به طور کامل از جریان سند حذف شود.
  • استفاده کنید visibility زمانی که می خواهید عنصر در طرح باقی بماند اما قابل مشاهده نباشد.

پیاده سازی هر دو روش آسان است و راهی تمیز برای نمایش یا پنهان کردن عناصر به صورت پویا با استفاده از جاوا اسکریپت ارائه می دهد. با هر دو روش آزمایش کنید تا ببینید کدامیک به بهترین وجه با نیازهای شما مطابقت دارد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا