简体   繁体   中英

asp.net webforms with js

How do you use a normal js script with normal html code in a webform? I have this code below but when it runs the div tags display on the page for two seconds then they disappear. When checking the elements i see that the div tag is being assigned the class aspNetHidden. How can i fix this?

HTML code:

<div class="slideshow-container">

  <!-- Full-width images with number and caption text -->
  <div class="mySlides fade">
    <div class="numbertext">1 / 9</div>
    <img src="Images/slide1.png" style="width:100%">
  </div>

  <div class="mySlides fade">
    <div class="numbertext">2 / 9</div>
    <img src="Images/slide2.png" style="width:100%">
  </div>

  <div class="mySlides fade">
    <div class="numbertext">3 / 9</div>
    <img src="Images/slide3.png" style="width:100%">
  </div>
  <div class="mySlides fade">
    <div class="numbertext">4 / 9</div>
    <img src="Images/slide4.png" style="width:100%">
  </div>
  <div class="mySlides fade">
    <div class="numbertext">5 / 9</div>
    <img src="Images/slide5.png" style="width:100%">
  </div>
  <div class="mySlides fade">
    <div class="numbertext">6 / 9</div>
    <img src="Images/slide6.png" style="width:100%">
  </div>
  <div class="mySlides fade">
    <div class="numbertext">7 / 9</div>
    <img src="Images/slide7.png" style="width:100%">
  </div>
  <div class="mySlides fade">
    <div class="numbertext">8 / 9</div>
    <img src="Images/slide8.png" style="width:100%">
  </div>
  <div class="mySlides fade">
    <div class="numbertext">9 / 9</div>
    <img src="Images/slide9.png" style="width:100%">
  </div>

js Code:

<script type="text/javascript">
        var slideIndex = 1;
        showSlides(slideIndex);

        // Next/previous controls
        function plusSlides(n) {
          showSlides(slideIndex += n);
        }

        // Thumbnail image controls
        function currentSlide(n) {
          showSlides(slideIndex = n);
        }

        function showSlides(n) {
          var i;
          var slides = document.getElementsByClassName("mySlides");
          var dots = document.getElementsByClassName("dot");
          if (n > slides.length) {slideIndex = 1} 
          if (n < 1) {slideIndex = slides.length}
          for (i = 0; i < slides.length; i++) {
              slides[i].style.display = "none"; 
          }
          for (i = 0; i < dots.length; i++) {
              dots[i].className = dots[i].className.replace(" active", "");
          }
          slides[slideIndex-1].style.display = "block"; 
          dots[slideIndex-1].className += " active";
        }
    </script>

If relevant, the css code:

    <style>
        * {box-sizing:border-box}

/* Slideshow container */
.slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
}

/* Hide the images by default */
.mySlides {
  display: none;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

/* Fading animation */
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}

@-webkit-keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}
    </style>

You can add your code segments within the content tags, I just tried and it worked. refer the code below. Simply you can create a new web application with site.master files and you can add your code segments in the aspx file

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

<div class="slideshow-container">

    <!-- Full-width images with number and caption text -->
    <div class="mySlides fade">
        <div class="numbertext">1 / 9</div>
        <img src="Images/slide1.png" style="width: 100%">
    </div>

    <div class="mySlides fade">
        <div class="numbertext">2 / 9</div>
        <img src="Images/slide2.png" style="width: 100%">
    </div>

    <div class="mySlides fade">
        <div class="numbertext">3 / 9</div>
        <img src="Images/slide3.png" style="width: 100%">
    </div>
    <div class="mySlides fade">
        <div class="numbertext">4 / 9</div>
        <img src="Images/slide4.png" style="width: 100%">
    </div>
    <div class="mySlides fade">
        <div class="numbertext">5 / 9</div>
        <img src="Images/slide5.png" style="width: 100%">
    </div>
    <div class="mySlides fade">
        <div class="numbertext">6 / 9</div>
        <img src="Images/slide6.png" style="width: 100%">
    </div>
    <div class="mySlides fade">
        <div class="numbertext">7 / 9</div>
        <img src="Images/slide7.png" style="width: 100%">
    </div>
    <div class="mySlides fade">
        <div class="numbertext">8 / 9</div>
        <img src="Images/slide8.png" style="width: 100%">
    </div>
    <div class="mySlides fade">
        <div class="numbertext">9 / 9</div>
        <img src="Images/slide9.png" style="width: 100%">
    </div>
</div>

<script type="text/javascript">
    var slideIndex = 1;
    showSlides(slideIndex);

    // Next/previous controls
    function plusSlides(n) {
        showSlides(slideIndex += n);
    }

    // Thumbnail image controls
    function currentSlide(n) {
        showSlides(slideIndex = n);
    }

    function showSlides(n) {
        var i;
        var slides = document.getElementsByClassName("mySlides");
        var dots = document.getElementsByClassName("dot");
        if (n > slides.length) { slideIndex = 1 }
        if (n < 1) { slideIndex = slides.length }
        for (i = 0; i < slides.length; i++) {
            slides[i].style.display = "none";
        }
        for (i = 0; i < dots.length; i++) {
            dots[i].className = dots[i].className.replace(" active", "");
        }
        slides[slideIndex - 1].style.display = "block";
        dots[slideIndex - 1].className += " active";
    }
</script>

<style>
    * {
        box-sizing: border-box;
    }

    /* Slideshow container */
    .slideshow-container {
        max-width: 1000px;
        position: relative;
        margin: auto;
    }

    /* Hide the images by default */
    .mySlides {
        display: none;
    }

    /* Next & previous buttons */
    .prev, .next {
        cursor: pointer;
        position: absolute;
        top: 50%;
        width: auto;
        margin-top: -22px;
        padding: 16px;
        color: white;
        font-weight: bold;
        font-size: 18px;
        transition: 0.6s ease;
        border-radius: 0 3px 3px 0;
        user-select: none;
    }

    /* Position the "next button" to the right */
    .next {
        right: 0;
        border-radius: 3px 0 0 3px;
    }

        /* On hover, add a black background color with a little bit see-through */
        .prev:hover, .next:hover {
            background-color: rgba(0,0,0,0.8);
        }

    /* Caption text */
    .text {
        color: #f2f2f2;
        font-size: 15px;
        padding: 8px 12px;
        position: absolute;
        bottom: 8px;
        width: 100%;
        text-align: center;
    }

    /* Number text (1/3 etc) */
    .numbertext {
        color: #f2f2f2;
        font-size: 12px;
        padding: 8px 12px;
        position: absolute;
        top: 0;
    }

    /* The dots/bullets/indicators */
    .dot {
        cursor: pointer;
        height: 15px;
        width: 15px;
        margin: 0 2px;
        background-color: #bbb;
        border-radius: 50%;
        display: inline-block;
        transition: background-color 0.6s ease;
    }

        .active, .dot:hover {
            background-color: #717171;
        }

    /* Fading animation */
    .fade {
        -webkit-animation-name: fade;
        -webkit-animation-duration: 1.5s;
        animation-name: fade;
        animation-duration: 1.5s;
    }

    @-webkit-keyframes fade {
        from {
            opacity: .4;
        }

        to {
            opacity: 1;
        }
    }

    @keyframes fade {
        from {
            opacity: .4;
        }

        to {
            opacity: 1;
        }
    }
</style>

Okay so it turns out it was just a css error, the fade was kicking in before the code could run. just remove fade from all the tags and it works.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM