2016-02-24 14 views
1

唔明附加/添加了我的JavaScript项目

name = "Joel Carter"; 
 
title = "Software Developer" 
 
mobile = "708-5xx-xx90" 
 
email = "[email protected]" 
 

 
var formattedName = HTMLheaderName.replace("%data%", name); 
 
var formattedTitle = HTMLheaderRole.replace("%data%", title); 
 
var formatedMobile = HTMLmobile.replace("%data%",mobile); 
 
var formattedEmail = HTMLemail.replace("%data%", email); 
 
var formatted 
 

 
$("#header").append(formattedName); 
 
$("#header").append(formattedTitle); 
 
$("#topContacts").prepend(formatedMobile); 
 
$("#topContacts").prepend(formattedEmail);
body, 
 
div, 
 
ul, 
 
li, 
 
p, 
 
h1, 
 
h2, 
 
h3, 
 
h4, 
 
h5, 
 
h6 { 
 
    padding:0; 
 
    margin:0; 
 
    font-family: "Roboto", sans-serif; 
 
} 
 

 
.clear-fix { 
 
    overflow: auto; 
 
} 
 

 
.education-entry, 
 
.work-entry, 
 
.project-entry { 
 
    padding: 0 5%; 
 
} 
 

 
h1 { 
 
    font-size: 40px; 
 
    color: #f5a623; 
 
    line-height: 48px; 
 
    display: inline; 
 
} 
 

 
h2 { 
 
    font-weight: bold; 
 
    font-size: 24px; 
 
    color: #999; 
 
    line-height: 29px; 
 
    padding: 10px; 
 
} 
 

 
h3 { 
 
    font-style: italic; 
 
    font-size: 20px; 
 
    color: #000; 
 
    line-height: 22px; 
 
} 
 

 
h4 { 
 
    font-weight: bold; 
 
    font-size: 14px; 
 
    color: #4a4a4a; 
 
    line-height: 17px; 
 
} 
 

 
h2, 
 
h3, 
 
h4, 
 
h5 { 
 
    padding:10px 5%; 
 

 
} 
 

 

 
.date-text { 
 
    font-style: italic; 
 
    font-size: 14px; 
 
    color: #999; 
 
    line-height: 16px; 
 
    float: left; 
 
} 
 

 
.location-text { 
 
    font-style: italic; 
 
    font-size: 14px; 
 
    color: #999; 
 
    line-height: 16px; 
 
    float: right; 
 

 
} 
 

 
p { 
 
    font-size: 14px; 
 
    color: #333; 
 
    line-height: 21px; 
 
} 
 

 
a { 
 
    color: #1199c3; 
 
    text-decoration: none; 
 
    margin-top: 10px; 
 
    display: block; 
 
} 
 

 
.welcome-message { 
 
    font-style: italic; 
 
    font-size: 18px; 
 
    color: #f3f3f3; 
 
    line-height: 28px; 
 
} 
 

 
#skills-h3 { 
 
    color: #f5ae23; 
 
    display: none; 
 
} 
 

 
.orange { 
 
    background-color: #f5ae23; 
 
} 
 

 
.orange-text { 
 
    color: #f5ae23; 
 
} 
 

 
.white-text { 
 
    font-weight: bold; 
 
    color: #fff; 
 
} 
 

 
.gray { 
 
    background-color: #f3f3f3; 
 
    padding-bottom: 10px; 
 
    clear:both; 
 
} 
 

 
.dark-gray { 
 
    background-color: #4a4a4a; 
 
} 
 

 
/* TODO: Replace with image later */ 
 
#header { 
 
    background-color: #484848; 
 
} 
 

 
.flex-box { 
 
    display: -webkit-flex; 
 
    display: flex; 
 
    flex-direction: row; 
 
    flex-wrap: wrap; 
 
    justify-content: space-around; 
 
    padding: 10px; 
 
} 
 

 
.center-content { 
 
    padding: 2.5% 5%; 
 
} 
 

 
ul { 
 
    list-style-type: none; 
 
} 
 

 
.biopic { 
 
    float: left; 
 
    padding: 10px; 
 
    width: 200px; 
 
    display: none; 
 
} 
 

 
img { 
 
    padding: 10px; 
 
} 
 

 
span { 
 
    padding: 5px; 
 
} 
 

 
#lets-connect { 
 
    text-align: center; 
 
} 
 

 
/* Media queries to handle various device widths */ 
 

 
@media only screen and (max-width: 1024px) { 
 
    #lets-connect { 
 
    margin-top: 5%; 
 
    } 
 
} 
 

 
@media only screen and (max-width:900px) { 
 
    .biopic { 
 
    width: 175px; 
 
    } 
 
} 
 

 
@media only screen and (max-width: 750px) { 
 
    #lets-connect { 
 
    margin-top: 10%; 
 
    } 
 
    .biopic { 
 
    width: 150px; 
 
    } 
 
    .welcome-message { 
 
    display: none; 
 
    } 
 
} 
 

 
#map { 
 
    display: block; 
 
    height: 100%; 
 
    margin: 0 5%; 
 
} 
 

 
#mapDiv { 
 
    height: 400px; 
 
    width: 100%; 
 
    padding-bottom: 5%; 
 
} 
 

 
@media only screen and (min-width: 750px) { 
 
    #skills-h3, 
 
    .biopic { 
 
    display: block; 
 
    } 
 
}
<!DOCTYPE html> 
 

 
<!-- 
 
This is an HTML document. It contains information about how elements in the website 
 
are arranged. In other words, it describes the layout of a website. 
 

 
I can't wait to see the resumes you put together! 
 

 
Cameron Pittman, Udacity Course Developer 
 
--> 
 

 
<!-- 
 
The <head> of a website generally links to important resources the page will 
 
need to load. You'll see a lot of <link>s to CSS files for styles and 
 
<scripts> for JavaScript files to build interactions. 
 
--> 
 
<head> 
 
    <!-- This tells the browser how to read the document. --> 
 
    <meta charset="utf-8"> 
 

 
    <!-- Tells the browser what the title of this page should be. --> 
 
    <title>Resume</title> 
 

 
    <!-- Load the page styles. --> 
 
    <link href="css/style.css" rel="stylesheet"> 
 

 
    <!-- 
 
    jQuery is a common JavaScript library for reading and making changes to the 
 
    Document Object Model (DOM). The DOM is a tree that contains information 
 
    about what is actually visible on a website. 
 

 
    While HTML is a static document, the browser converts HTML to the 
 
    DOM and the DOM can change. In fact, JavaScript's power comes from 
 
    its ability to manipulate the DOM, which is essentially a JavaScript 
 
    object. When JavaScript makes something interesting happen on a 
 
    website, it's likely the action happened because JavaScript changed 
 
    the DOM. jQuery is fast and easy to use, but it doesn't do anything 
 
    you can't accomplish with vanilla (regular) JavaScript. 
 
    --> 
 
    <script src="js/jQuery.js"></script> 
 

 
    <!-- More on helper.js in the class --> 
 
    <script src="js/helper.js"></script> 
 

 
    <!-- 
 
    Uncomment the <script> tag below when you're ready to add an interactive 
 
    Google Map to your resume! 
 
    --> 
 
<!-- <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places"></script> --> 
 

 
    <meta name="viewport" content="width=device-width"> 
 
</head> 
 
<body> 
 
    <div id="main"> 
 
     <!-- You'll be deleting this line in the course --> 
 

 
    <!-- 
 
    Everything from here to the <script> tag below is the skeleton of your 
 
    website. Your code will add information to each of the sections of the 
 
    resume below. You can pretty easily figure out what each section will 
 
    display by looking at the id or at what's written between the <h2> tags. 
 
    --> 
 
    <div id="header" class="center-content clear-fix"> 
 
     <ul id="topContacts" class="flex-box"></ul> 
 
    </div> 
 
    <div style="clear: both;"></div> 
 
    <div id="workExperience" class="gray"> 
 
     <h2>Work Experience</h2> 
 
    </div> 
 
    <div id="projects"> 
 
     <h2>Projects</h2> 
 
    </div> 
 
    <div id="education" class="gray"> 
 
     <h2>Education</h2> 
 
    </div> 
 
    <div id="mapDiv"> 
 
     <h2>Where I've Lived and Worked</h2> 
 
    </div> 
 
    <div id="lets-connect" class="dark-gray"> 
 
     <h2 class="orange center-text">Let's Connect</h2> 
 
     <ul id="footerContacts" class="flex-box"> 
 
     </ul> 
 
    </div> 
 
    </div> 
 

 
    <!-- 
 
    The next line tells the browser where to download the JavaScript file you'll be 
 
    writing. In resumeBuilder.js, you'll be writing code that builds the resume 
 
    dynamically when this website, index.html, is opened. 
 
    --> 
 
    <script src="js/resumeBuilder.js"></script> 
 

 

 
    <!-- 
 
    These scripts are written in JavaScript. You'll be breaking them down as part of 
 
    a quiz. Essentially, the next few lines are checking to see if you have not 
 
    changed each section of the resume. If you have not made any changes to a section 
 
    of the resume, then that part of the resume does not show up. More on this in the 
 
    course. 
 
    --> 
 

 
    <script type="text/javascript"> 
 
    // Notice how all of a sudden there's JavaScript inside this HTML 
 
    // document? You can write JavaScript between <script> tags. At the end of your 
 
    // JavaScript, don't forget the closing script tag with the slash (/). 
 

 

 
    // Also, this is a JavaScript style comment. You can comment in JavaScript with: 
 

 
    // two slashes for all following characters on a single line, or 
 

 
    /* 
 
     an opening and closing set of slash asterisks for block comments. 
 
    */ 
 

 

 
    if(document.getElementsByClassName('flex-item').length === 0) { 
 
     document.getElementById('topContacts').style.display = 'none'; 
 
    } 
 
    if(document.getElementsByTagName('h1').length === 0) { 
 
     document.getElementById('header').style.display = 'none'; 
 
    } 
 
    if(document.getElementsByClassName('work-entry').length === 0) { 
 
     document.getElementById('workExperience').style.display = 'none'; 
 
    } 
 
    if(document.getElementsByClassName('project-entry').length === 0) { 
 
     document.getElementById('projects').style.display = 'none'; 
 
    } 
 
    if(document.getElementsByClassName('education-entry').length === 0) { 
 
     document.getElementById('education').style.display = 'none'; 
 
    } 
 
    if(document.getElementsByClassName('flex-item').length === 0) { 
 
     document.getElementById('lets-connect').style.display = 'none'; 
 
    } 
 
    if(document.getElementById('map') === null) { 
 
     document.getElementById('mapDiv').style.display = 'none'; 
 
    } 
 
    </script> 
 
</body> 
 
</html>

我目前工作的一个Udacity nanodegree项目,我需要创建动态使用JS简历。直到我遇到这堵墙时,我的感觉都非常好,如果有人能够协助,我会很乐意帮助攀爬。

我想追加我的名字下的联系信息,但元素不断显示在我的名字之上。

下面的代码的当前状态:

name = "Joel Carter"; 
title = "Software Developer" 
mobile = "708-5xx-xx90" 
email = "[email protected]" 

var formattedName = HTMLheaderName.replace("%data%", name); 
var formattedTitle = HTMLheaderRole.replace("%data%", title); 
var formatedMobile = HTMLmobile.replace("%data%",mobile); 
var formattedEmail = HTMLemail.replace("%data%", email); 

$("#header").append(formattedName); 
$("#header").append(formattedTitle); 
$("#topContacts").prepend(formatedMobile); 
$("#topContacts").prepend(formattedEmail); 

下面是HTML以及(几乎为获得这部分)

<!DOCTYPE html> 

<!-- 
This is an HTML document. It contains information about how elements in the website 
are arranged. In other words, it describes the layout of a website. 

I can't wait to see the resumes you put together! 

Cameron Pittman, Udacity Course Developer 
--> 

<!-- 
The <head> of a website generally links to important resources the page will 
need to load. You'll see a lot of <link>s to CSS files for styles and 
<scripts> for JavaScript files to build interactions. 
--> 
<head> 
    <!-- This tells the browser how to read the document. --> 
    <meta charset="utf-8"> 

    <!-- Tells the browser what the title of this page should be. --> 
    <title>Resume</title> 

    <!-- Load the page styles. --> 
    <link href="css/style.css" rel="stylesheet"> 

    <!-- 
    jQuery is a common JavaScript library for reading and making changes to the 
    Document Object Model (DOM). The DOM is a tree that contains information 
    about what is actually visible on a website. 

    While HTML is a static document, the browser converts HTML to the 
    DOM and the DOM can change. In fact, JavaScript's power comes from 
    its ability to manipulate the DOM, which is essentially a JavaScript 
    object. When JavaScript makes something interesting happen on a 
    website, it's likely the action happened because JavaScript changed 
    the DOM. jQuery is fast and easy to use, but it doesn't do anything 
    you can't accomplish with vanilla (regular) JavaScript. 
    --> 
    <script src="js/jQuery.js"></script> 

    <!-- More on helper.js in the class --> 
    <script src="js/helper.js"></script> 

    <!-- 
    Uncomment the <script> tag below when you're ready to add an interactive 
    Google Map to your resume! 
    --> 
<!-- <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places"></script> --> 

    <meta name="viewport" content="width=device-width"> 
</head> 
<body> 
    <div id="main"> 
     <!-- You'll be deleting this line in the course --> 

    <!-- 
    Everything from here to the <script> tag below is the skeleton of your 
    website. Your code will add information to each of the sections of the 
    resume below. You can pretty easily figure out what each section will 
    display by looking at the id or at what's written between the <h2> tags. 
    --> 
    <div id="header" class="center-content clear-fix"> 
     <ul id="topContacts" class="flex-box"></ul> 
    </div> 
    <div style="clear: both;"></div> 
    <div id="workExperience" class="gray"> 
     <h2>Work Experience</h2> 
    </div> 
    <div id="projects"> 
     <h2>Projects</h2> 
    </div> 
    <div id="education" class="gray"> 
     <h2>Education</h2> 
    </div> 
    <div id="mapDiv"> 
     <h2>Where I've Lived and Worked</h2> 
    </div> 
    <div id="lets-connect" class="dark-gray"> 
     <h2 class="orange center-text">Let's Connect</h2> 
     <ul id="footerContacts" class="flex-box"> 
     </ul> 
    </div> 
    </div> 

    <!-- 
    The next line tells the browser where to download the JavaScript file you'll be 
    writing. In resumeBuilder.js, you'll be writing code that builds the resume 
    dynamically when this website, index.html, is opened. 
    --> 
    <script src="js/resumeBuilder.js"></script> 


    <!-- 
    These scripts are written in JavaScript. You'll be breaking them down as part of 
    a quiz. Essentially, the next few lines are checking to see if you have not 
    changed each section of the resume. If you have not made any changes to a section 
    of the resume, then that part of the resume does not show up. More on this in the 
    course. 
    --> 

    <script type="text/javascript"> 
    // Notice how all of a sudden there's JavaScript inside this HTML 
    // document? You can write JavaScript between <script> tags. At the end of your 
    // JavaScript, don't forget the closing script tag with the slash (/). 


    // Also, this is a JavaScript style comment. You can comment in JavaScript with: 

    // two slashes for all following characters on a single line, or 

    /* 
     an opening and closing set of slash asterisks for block comments. 
    */ 


    if(document.getElementsByClassName('flex-item').length === 0) { 
     document.getElementById('topContacts').style.display = 'none'; 
    } 
    if(document.getElementsByTagName('h1').length === 0) { 
     document.getElementById('header').style.display = 'none'; 
    } 
    if(document.getElementsByClassName('work-entry').length === 0) { 
     document.getElementById('workExperience').style.display = 'none'; 
    } 
    if(document.getElementsByClassName('project-entry').length === 0) { 
     document.getElementById('projects').style.display = 'none'; 
    } 
    if(document.getElementsByClassName('education-entry').length === 0) { 
     document.getElementById('education').style.display = 'none'; 
    } 
    if(document.getElementsByClassName('flex-item').length === 0) { 
     document.getElementById('lets-connect').style.display = 'none'; 
    } 
    if(document.getElementById('map') === null) { 
     document.getElementById('mapDiv').style.display = 'none'; 
    } 
    </script> 
</body> 
</html> 

而且,这里是我的麻烦截图有:

enter image description here

任何帮助将是很大的一个ppreciated。谢谢

+0

你还可以提供html文档和任何css文件。 – Cobster

+0

是否需要'$(“#header”)。append(formatedMobile);'? – dandavis

+0

'prepend',在之前添加,*(pre)*和'append',在之后添加等。 – adeneo

回答

1

我认为你的问题是,div#header已经包含ul元素#topContacts。所以,任何你.append()都会放在这个元素之后。而不是.append()我会尝试.before();

$('#topContacts').before(formattedName + formattedTitle); 

这将UL elment前插入您的姓名和职务。然后,对于未排序列表#topContacts尝试:

$('#topContacts').append($('<li>').html(formattedMobile)); 
$('#topContacts').append($('<li>').html(formattedEmail)); 

这将添加一个包含您的手机和电子邮件信息文本中的UI元素内的li元素。