2013-04-06 1 views
-1
var circle; 
    var love = 30; 

     document.getElementById("output"). innerHTML=(" 

    The Circle is __ Units with an Area of __ 
        <svg version='1.1' 
     width='360' height='300' 
     xmlns='http://www.w3.org/2000/svg'> 

      <circle cx='50%' cy='50%' r='" + love + " %' stroke='black' 
      stroke-width='2' fill='red'/> 
     </svg>"); 

Я знаю, что здесь есть синтаксическая ошибка, и я уверен, что это связано с множеством кавычек в блоке. Должен ли я сделать это в меньшие строки и объединить их. Вид как. = С PHP? (Вся точка блока установить радиус SVG {г} к переменной любви.) - Спасибо ДжошJavascript блок котировок

Edit 2 # (Спасибо Сообществ поддержки, Вот некоторые интересные аккуратным Рабочий код)

  var love = 30; 
      var va1 = "The Circle is __ Units with an Area of __ "; 
        var va2 =" <svg version='1.1' width='360' height='300' xmlns='http://www.w3.org/2000/svg'>" ; 
        var va3 = " <circle cx='50%' cy='50%' r='" ; 
        var va4 = "%' stroke='black' stroke-width='2' fill='red'/> </svg>"; 
        document.getElementById("output"). innerHTML=(va1+ va2 + va3 + love +va4); 
+0

многострочных строк не поддерживаются в JS. См. Http://stackoverflow.com/questions/805107/creating-multiline-strings-in-javascript – danronmoon

+0

Благодарим вас за конструктивный комментарий. – WackyMole

+0

Человек, которого вы, ребята, действительно не любите мой вопрос, почти меня огорчает :( – WackyMole

ответ

3

Используйте символ \ побег для нескольких строк линии

Как это

var circle; 
var love = 30; 

    document.getElementById("output"). innerHTML=(" \ 
     The Circle is __ Units with an Area of __ \ 
       <svg version='1.1' \ 
       width='360' height='300' \ 
       xmlns='http://www.w3.org/2000/svg'> \ 
       <circle cx='50%' cy='50%' r='" + love + "%' stroke='black' \ 
       stroke-width='2' fill='red'/> \ 
       </svg>"); 
+0

Благодарим за предложение, я все еще сражаюсь с котировками (функция работает только частично), поэтому любое другое предложение будет оценено. – WackyMole

+0

Какая функция? Какова ваша проблема сейчас. зная, что я не могу помочь вам. Думаю, теперь ошибка синтаксиса исчезла – 999k

+0

Множественные переменные исправили ее, спасибо. – WackyMole

0

Я бы честно избежать конкатенацию, маркеры конца-строки, и только в Буе Эти элементы. Код, на мой взгляд, был бы гораздо менее хрупким, а также легче на глазах. Это то, что я сделал ниже, включая небольшую вспомогательную функцию для сопоставления членов объекта буквальным к атрибутам моих элементов:

Посмотреть он-лайн: http://jsfiddle.net/jonathansampson/er9ys/

// References and values we'll be needing 
var out = document.querySelector("body"), 
    nsp = "http://www.w3.org/2000/svg", 
    lov = 30; 

// Build our message, svg element, and circle 
var msg = document.createTextNode("Circle is _ Units, w/ an Area of _"); 
var svg = makeEl(nsp, "svg", { version: 1.1, height: 300, width: 360 }); 
var ccl = makeEl(nsp, "circle", { cx: "50%", cy: "50%", r: lov + "%" }); 

// Add children to appropriate parents 
svg.appendChild(ccl); 
out.appendChild(msg); 
out.appendChild(svg); 

// Small utility for adding attrs 
function makeEl (namespace, tag, attrs) { 
    var el = document.createElementNS(namespace, tag), prop; 
    for (prop in attrs) 
     el.setAttribute(prop, attrs[prop]); 
    return el; 
}