无法显示进度条

时间:2016-03-13 21:17:26

标签: javascript jquery html css jquery-ui

我已经创建了这个简单的javascript测验应用程序。我编写了一个进度条,它在我的笔记本电脑上离线工作得非常好,但当我尝试在Codepen.io上传文件时,进度条不会显示。

有人可以解释一下我做错了什么。

以下是代码:



var allQuestions = [
	{	
		question: "Before Mt. Everest was discovered, whaich mountain was considered to be the highest mountain in the world?",
		choices: ["Mt. Kilimanjaro", "Kanchenjunga", "Mount Everest"],
		correctAnswer:1
	},

	{
		question: "Does England have a 4th of July?",
		choices: ["Yes","No","I don't know"],
		correctAnswer:0
	},

	{
		question: "What is Rupert the bear's middle name?",
		choices: ["Bear","He doesn't have one!", "The","Rupert"],
		correctAnswer:3
	},
	
	{
		question: " What can you never eat for breakfast? ",
		choices: ["Dinner","Something sugary","Lunch","Supper"],
		correctAnswer:0
	},

	{
		question: "If there are three apples and you took two away, how many do you have?",
		choices: ["One","Two","None"],
		correctAnswer:1
	},

	{
		question: "Spell 'Silk' out loud, 3 times in a row. What do cows drink?",
		choices: ["Milk","Water","Juice","Cows can't drink"],
		correctAnswer:1
	},

	{
		question: "Which is heavier, 100 pounds of rocks or 100 pounds of gold? ",
		choices: ["100 pounds of rocks","100 pounds of rocks","They weigh the same"],
		correctAnswer:2
	},

	{
		question: "Can you spell 80 in two letters?",
		choices: ["AI-TY","It's not possible","EIGH-TY","A-T"],
		correctAnswer:3
	},

	{
		question: "What question must always be answered ''Yes''?",
		choices: ["What does Y-E-S spell?","Will everyone die someday?","Does everyone have a biological mother?","Are you a human?"],
		correctAnswer:0
	},

	{
		question: "How many sides does a circle have?",
		choices: ["The back","None. It's a circle","Two","Four"],
		correctAnswer:2
	},

	{
		question: "What has a tail but no body?",
		choices: ["A human","A coin","A cloud"],
		correctAnswer:1
	},

	{
		question: "What word in the English language is always spelled incorrectly?",
		choices: ["It's possible to spell anything right as long as you learn it","Shakespeare","Onomatopoeia","Incorrectly"],
		correctAnswer:3
	},

	{
		question: "When do you stop at green and go at red?",
		choices: ["Watermelon!","Traffic light!","Garden"],
		correctAnswer:0
	},

	{
		question: "What rotates but still remains in the same place?",
		choices: ["Bottle (spin the bottle game)","Clock","Stairs"],
		correctAnswer:2
	},

	{
		question: "How can you lift an elephant with one hand?",
		choices: ["Truck","Use both hands!","Use a lever","There is no such thing"],
		correctAnswer:1
	}	
];
	var currentquestion=0;
	var correctAnswers=0;
function setupOptions(){
	 $('#question').html(parseInt(currentquestion)+1+". "+allQuestions[currentquestion].question);
      var options = allQuestions[currentquestion].choices;
      var formHtml='';
      for (var i = 0; i < options.length; i++){
        formHtml += '<div><input type="radio" name="option" value="'+i+'" id="option'+i+'"><label for="option'+i+'">'
        +allQuestions[currentquestion].choices[i]+'</label></div><br/>';
      }
      $('#form').html(formHtml);
      $("#option0").prop('checked', true);		
};

function checkAns(){
	if($("input[name=option]:checked").val()==allQuestions[currentquestion].correctAnswer){
		correctAnswers++;
	};
};

$(document).ready(function(){
	
	$(".jumbotron").hide();
	$('#start').click(function() {
	    $(".jumbotron").fadeIn();
	    $(this).hide();
  	});

	$(function() {
		$( "#progressbar" ).progressbar({
			max: allQuestions.length-1,			
			value: 0
		});
	});

	setupOptions();

	$("#next").click(function(){
			checkAns();
			currentquestion++;
			$(function() {
    			$( "#progressbar" ).progressbar({
      				value: currentquestion
    			});
  			});
			if(currentquestion<allQuestions.length){
				setupOptions();
				if(currentquestion==allQuestions.length-1){
					$('#next').html("Submit");
					$('#next').click(function(){
						$(".jumbotron").hide();
						$("#result").html("You correctly answered " + correctAnswers + " out of " + currentquestion + " questions! ").hide();
						$("#result").fadeIn(1500);
					});

				}
				
			};
	});	
});
&#13;
html, body, div, span, object, iframe, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

h1 {
  font-size: 15em;
  font-family: 'Chonburi', cursive;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

.ui-widget-header {
    background-image: none !important;
    background-color: #FF7860 !important; 
}

label{
  display: inline-block;
}

h3, #next {
  text-align: center;
  display: inline-block;
  border-radius: 20%;
}

#result {
  font-family: 'Press Start 2P', cursive !important;
  font-weight: bold;
  font-size: 1.5em;
  color: #036;
}

input[name="option"] {
  float:left;
}
#form div{
  margin:auto;
  max-width: 205px;
}

#progressbar {
  margin: auto;
  margin-top: 20px;
  float: none; 
  width: 50%;
}

#container {
  text-align: center;
}
span {
  margin:5em;
  padding:3em;

}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}


/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
.button {
    display: inline-block;
    padding: 1em;
    background-color: #79BD9A;
    text-decoration: none !important; 
    color: white !important;
} 
body{
  text-align: center;
}

.progress-bar {
  float: left;
  width: 0;
  height: 100%;
  font-size: 12px;
  line-height: 20px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
  -webkit-transition: width .6s ease;
       -o-transition: width .6s ease;
          transition: width .6s ease;
}
&#13;
<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width = device-width, initial-scale = 1">
<link href='https://fonts.googleapis.com/css?family=Chonburi' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Press+Start+2P' rel='stylesheet' type='text/css'>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
<body>
<h1>Quiz</h1>
<br/>
<br/>
<a href="#" id="start" class="btn btn-primary btn-lg">Let's Begin</a>
<br/>
<div class="well jumbotron">
  <h3 id="question"></h3>
  <br/><br/>
  <form id="form">
    <div><input type="radio" name="option" value="0" id="option0" checked><label for='option0'></label><br/></div>
    <div><input type="radio" name="option" value="1" id="option1"><label for='option1'></label><br/></div>
    <div><input type="radio" name="option" value="2" id="option2"><label for='option2'></label><br/></div>
  </form>
  <br/>
  <a href="#" id="next" class="button">Next</a><br/>
  <div id="progressbar" class="progress-bar progress-bar-striped"></div>
</div>
<div id="result"></div>
</body>
&#13;
&#13;
&#13;

我还有一些其他问题,这些问题并非特定于codepen.io:

  1. 标题&#34;测验&#34;没有反应。如何解决?

  2. 文字选项与radio按钮完全对齐?

  3. 如何在从一个问题转移到另一个问题时修复网页的位置?

1 个答案:

答案 0 :(得分:1)

  

无法显示进度条

height上的.progress-bar规则似乎是罪魁祸首。

  
      
  1. 标题“测验”没有响应。我该如何解决?
  2.   

您可以使用视口单元,以便字体更改以响应视口。 16.7vw与您正在使用的值(15em)相当(足够接近)。

有关详细信息,请参阅this相关问题。

Browsers支持视口单元

  
      
  1. 文本选项与单选按钮没有完全对齐?
  2.   

不确定你的意思。您将文本置于中心 - 您不希望它居中吗?

  
      
  1. 如何在从一个问题转移到另一个问题时修复网页的位置?
  2.   

通过这个我假设你不希望页面在你点击下一个时跳到顶部?如果是,请在“下一个”click的{​​{1}}事件中公开事件对象,并通过button阻止默认操作。

<强> Updated CodePen