簡體   English   中英

當我刷新頁面時,Jquery 代碼無法完成

[英]When I refresh the page the Jquery code doesn't work done

我已經實現了 AJAX 代碼,該代碼調用 PHP 中的外部頁面,其中查詢數據庫並創建表。 When AJAX calls the page the jQuery code inserts the PHP table in a <p> tag which creates a sort of "box" through an animation and resizes the box to HEIGHT according to the PHP table. 當它第一次正常工作時,當我使用適當的按鈕關閉“框”並再次單擊它以查看該框時,后者仍然被它所使用的<p>標簽的標准高度阻塞被定義。 每次運行 jQuery animation 時,我如何解決這個問題並使其工作,而無需刷新頁面?

<input type="button" value="Close Ripostiglio" class="hidden1" onclick="close1()">
    <p class="par1" id="pa1"> Ripostiglio </p>
    <script>
    function loadDocument(e) {
      var httpRequest = new XMLHttpRequest();
      httpRequest.onreadystatechange = gestisciResponse;
      httpRequest.open("GET","function.php", true);
      httpRequest.send();
      httpRequest.reload();
    }
    function gestisciResponse(e) {
      if (e.target.readyState == 4 && e.target.status == 200) {
        document.getElementById("dinamicZone").innerHTML = e.target.responseText;
      }
    }
                    //OPEN BOX
      $(document).ready(function(){
        //RIPOSTIGLIO
        $(".par1").click(function right(){
          var p = $(".par1");
          var n = $(".hidden1");
          p.animate({left: '300px'}, "slow");
          p.animate({height: '$(#dinamicZone).height()'}, "slow");
          p.animate({width: '350px'}, "slow");
          p.html("<div id='dinamicZone'></div>");
          setTimeout(loadDocument, 2000); //delay the open of table
          n.show();
        });
        function close1(){
        $(".nascosto1").click(function destra(){
          var p = $("#pa1");
          var p = $(".par1");
          var c = $(".hidden1");
          var s = $(".add1");
          p.animate({height: '65px'}, "slow");
          p.animate({width: '150px'}, "slow");
          p.animate({left: '0px'}, "slow");
          s.hide();//TOLGO LA SCRITTA AGGIUNGI
          p.html("Ripostiglio"); //"RIMETTO" FORZATAMENTE LA SCRITTA CANTINETTA VINI
          c.hide();
        });
      }
</script>

dinamicZone object 在 close1() 中被銷毀。 因此,當您再次單擊它時,它沒有更改大小的參考。 重新加載頁面將重新初始化頁面,從而重新創建 dinamicZone。

也許更改 close() 中重新分配 p.HTML 值的行。 如果您注釋掉該行,則調整大小應該有效。

----忽略下面這個----


Without it, you're trying to set the height to 65 when it contains an object that is higher, which is probably why it did not work. 

```
 $(".nascosto1").click(function destra(){
          // var p = $("#pa1");  // duplicate
          var p = $(".par1");
          var c = $(".hidden1");
          var s = $(".add1");
          p.html("Ripostiglio"); //"RIMETTO" FORZATAMENTE LA SCRITTA CANTINETTA VINI
          p.animate({height: '65px'}, "slow");
          p.animate({width: '150px'}, "slow");
          p.animate({left: '0px'}, "slow");
          s.hide();//TOLGO LA SCRITTA AGGIUNGI
          c.hide();
        });
```

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM