2015-07-03 95 views
0

此代碼的一部分工作,另一部分不工作。我無法弄清楚自己的問題......爲什麼只有我的代碼的一部分功能?

這是我external.js

var framevar = document.getElementById("userframe"); 
var frametogg = false; 
var framesel = false; 
$(document).ready(function(){ 
    $('#filestext').click(function(){ 
     if(framevar.src != "test.txt"){ 
      framevar.src = "test.txt"; 
     } 
     if((frametogg === false) && (framesel === false)){ 
      $('#userframe').show(350); 
      frametogg = true; 
      $('#frameselection').show(350); 
      framesel = true; 
     }else if(frametogg === false){ 
      $('#userframe').show(350); 
      frametogg = true; 
     }else if(framesel === false){ 
      $('#frameselection').show(350); 
      framesel = true; 
     }else{ 
      $('#userframe').hide(350); 
      frametogg = false; 
      $('#frameselection').hide(350); 
      framesel = false; 
     } 
    }); 

    $('#uploadtext').click(function(){ 
     if(framevar.src != "uploadpage.php"){ 
      framevar.src = "uploadpage.php"; 
     } 
     if(frametogg === false){ 
      $('#userframe').show(350); 
      frametogg = true; 
     }else if((frametogg === true) && (framesel === false)){ 
      $('#userframe').hide(350); 
      frametogg = false; 
     } 
     if(framesel === true){ 
      $('#frameselection').hide(350); 
      framesel = false; 
     } 
    }); 

    $('#entryloggertitle').click(function(){ 
     $('#entrylogger').toggle(350); 
    }); 
}); 

這是我home.php

<div id="filesdiv"> 
<iframe id="userframe" src="uploadpage.php"></iframe> 
<select id="frameselection" multiple> 
<script>selectionTable();</script> 
</select></div> 

<span id="entryloggertitle">log.</span><br/> 
<span id="filestext">files</span><br/> 
<span id="uploadtext">upload</span><br/> 

<div id="entrylogger"> 
<form action="add.php" method="POST"> 
    p? <input type="checkbox" name="public[]" value="yes" checked/> 
    <input type="text" name="entry" size="12"/> 
    <input type="submit" value="push!" style="display:none;" /> 
</form> 
</div> 

在CSS文件中,entrylogger,frameselection and userframe has display:none。我只放了代碼的相關部分。

切換功能entrylogger工作得很好。但我不明白爲什麼用戶幀幀選擇的切換不起作用。

+0

需要什麼功能?用戶框是否應該在初始頁面加載時隱藏,然後在他們單擊文件文本時顯示? – MrMadsen

+0

@MrMadsen在執行時,框架應該是不可見的。應該在用戶點擊任一鏈接時顯示。只有在單擊文件文本時才應顯示幀選擇項目。當人重新點擊時,框架應該消失。 – kittenparry

+0

它似乎在這個小提琴上工作:https://jsfiddle.net/u3bk7fvk/,除非我誤解了這個問題。 – MrMadsen

回答

0

看來我的代碼處於完美狀態(當然,並不完美,但它會檢查出來),因爲它可以完成我想要的操作。我的問題,似乎是在頁面的頭部包含外部的javascript表單。儘管這並不能回答一部分是如何運作的,另一部分則不是,但我認爲從現在開始我可以弄清楚一些事情。謝謝大家參與我的卑微的問題。

1

在這種如果聲明,

if((frametogg === false) && (framesel === false)){ 
     $('#userframe').show(350); 
     frametogg = true; 
     $('#frameselection').show(350); 
     framesel = true; 

你說只顯示如果frametogg和framese1都是假的,這是在頁面加載時,因爲這兩個值都設置的情況下userframe和幀選擇頂部爲假。但是,您說在執行時希望它們不可見,所以此處用戶框架和框架選擇的代碼應該使用hide方法。

+0

的腳本後面但是,如果條件發生在單擊文件文本時。我的意思是,一旦用戶點擊文字而不是直接顯示,他們就會變得可見。 – kittenparry

相關問題